加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – ActionModel的未定义的方法’on’

发布时间:2020-12-16 22:28:39 所属栏目:百科 来源:网络整理
导读:我收到以下错误: NoMethodError in Users#newShowing .../app/views/users/form/_new.haml where line #7 raised:undefined method `on' for #ActiveModel::Errors:0x007fb599ec6610 第7行中的代码是: 7: = errors_for user,:first_name 而application_hel
我收到以下错误:
NoMethodError in Users#new

Showing .../app/views/users/form/_new.haml where line #7 raised:

undefined method `on' for #<ActiveModel::Errors:0x007fb599ec6610>

第7行中的代码是:

7:   = errors_for user,:first_name

而application_helper.rb:

def errors_for(model,field)
  error = case errors = model.errors.on(field)
  ...
end

‘on’是一个default method in ActiveRecord.为什么这不工作?

解决方法

如果您使用的是Rails 3,那么问题是Errors类没有“on”方法了.我想你现在应该使用“get”.所以:
error = case errors = model.errors.get(field)

要么…

error = case errors = model.errors[field]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读