无法在管理员帐户中看到管理员可见的链接

时间:2014-06-28 17:03:13

标签: ruby-on-rails ruby database ruby-on-rails-4 irb

所以我试图隐藏普通用户的一些东西: 助手:

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中查找用户?

2 个答案:

答案 0 :(得分:0)

您可以像这样重写辅助方法,因此它会检查用户是否为管理员而不对数据库进行查询:

def admin?(user)
  user.present? && user.email == 'admin@admin.com'
end

更好的是,在admin?类中创建方法User

答案 1 :(得分:0)

我将@current_user == admin更改为current_user.admin?,突然一切正常。所以最后这个观点是错误的。