我最近使用Rails Composer和devise創建了一個小型Rails應用程序。將管理員角色添加到Rails應用程序
然後,我使用本指南按照指南將用戶表的管理員屬性設置爲:https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-Role。
在app /視圖/佈局/ _nav_links_for_auth.html.erb,我有:
<% if user_signed_in? %>
<% if current_user.try(:admin?) %>
<li> <%= link_to 'Users', users_path %></li>
<% end %>
<% end %>
我已經將該屬性設置爲true的用戶
我與這件事掙扎我登錄爲 - 但是,如果current_user.try(:admin?)上面的語句不返回true。我已經在sqlite開發數據庫中檢查了兩倍,該屬性實際上設置爲true,並且是。
所以,我卡住了。盡我所知,它並不知道「管理員」實際上是什麼。在我的用戶模型中,我有這個(默認情況下是這樣):
class User < ActiveRecord::Base
enum role: [:user, :vip, :admin]
after_initialize :set_default_role, :if => :new_record?
...
end
我希望得到這項工作的一些幫助。我需要做什麼?
你可以更新'set_default_role' – anoop