【发布时间】:2016-05-09 16:25:13
【问题描述】:
我使用的是 Rails 4.2.5。我收到错误“未定义的方法 `admin?”对于以下代码中的#<0x007f9b3a9bff78>0x007f9b3a9bff78>
<
>
&block
标签: ruby-on-rails ruby-on-rails-4 methods model
我使用的是 Rails 4.2.5。我收到错误“未定义的方法 `admin?”对于以下代码中的#<0x007f9b3a9bff78>0x007f9b3a9bff78>
<
>
&block标签: ruby-on-rails ruby-on-rails-4 methods model
您尚未在 User 模型中定义名为 admin? 的方法,而是有一个以 role 为参数的 role? 方法。所以你打电话
if user.role? "admin"
而不是
if user.admin?
或者
只需在模型中定义一个方法:
def admin?
role? "admin"
end
【讨论】:
将此添加到app/models/user.rb:
def admin?
role? :admin
end
【讨论】: