RoR:类型错误,false不是符号

时间:2014-03-15 18:11:13

标签: ruby-on-rails ruby devise

我正在尝试验证当前登录用户的角色类型。 Role是Users Model上的字符串列。

我正在尝试这个:

<% if current_user.try(:role == 'admin') %>
  #Show something
<% end %>

我收到以下错误:

TypeError in Merchants#index 
false is not a symbol

我将Devise作为我的身份验证系统,这就是我使用current_user方法的原因

我曾经有一个布尔User.admin,它的工作原理如下:

<% if current_user.try(:admin?) %>
  #Show something
<% end %>

我需要更改为字符串字段,因为我将拥有多个角色。

1 个答案:

答案 0 :(得分:0)

应该是

<% if current_user.try(:role) == 'admin' %>