【发布时间】:2013-09-15 01:36:52
【问题描述】:
我有一个页面,我正在检查数据库列public 是否为真或用户是否为管理员。
<% if @user.public || current_user.admin %>
... users page ...
<% end %>
现在的问题是,如果我没有登录,那么它会检查 current_user.admin 是否为真,所以我得到一个 NoMethodError
nil:NilClass 的未定义方法 `admin'
什么是最合乎逻辑的语法,所以如果我没有登录,我可以检查它是公共的还是管理员的,所以它应该指向一个注意到的页面而不是出现这个错误。
谢谢
【问题讨论】:
-
为什么会有
@user变量和current_user变量?这似乎是多余的...... -
@GavinMiller 因为用户可以是已登录的
current_user,也可以是未登录的用户@user。
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-3.1 syntax-error