所以我试图隐藏普通用户的一些东西: 助手:
def admin
User.find(:all, :conditions => { :email => ["admin@admin.com"] })
end
查看:
<% if @active_user == admin %>
<td><%= link_to raw('<i class="icon-pencil icon-white"></i>'), edit_quiz_path(quiz), :class => 'btn btn-info' %></td>
<td><%= link_to raw('<i class="icon-trash icon-white"></i>'), quiz, method: :delete, data: { confirm: 'Pewien?' }, :class => 'btn btn-danger' %></td>
<% end %>
最后,我登录了我的管理员帐户(电子邮件admin@admin.com
)并且没有显示任何内容。
我是否使用适当的功能在db中查找用户?
答案 0 :(得分:0)
您可以像这样重写辅助方法,因此它会检查用户是否为管理员而不对数据库进行查询:
def admin?(user)
user.present? && user.email == 'admin@admin.com'
end
更好的是,在admin?
类中创建方法User
。
答案 1 :(得分:0)
我将@current_user == admin
更改为current_user.admin?
,突然一切正常。所以最后这个观点是错误的。