这是我的ability.rb
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.admin?
can :manage, :all
else
can :read, :all
end
end
end和索引
<% if can? :update, @post %>
<%= link_to t('.edit', :default => t("helpers.links.edit")),
edit_post_path(post), :class => 'btn btn-mini' %>
<% end %> 但是我收到了错误
“Posts#index中的NoMethodError未定义#的方法‘`admin?’”
我应该在哪里定义管理员或其他角色?如何在登录时选择管理员或其他角色?
发布于 2013-05-05 09:12:18
您必须在用户模型中创建管理方法
def admin?
type == 'Admin'
end这是在您使用Admin模型的情况下:
class Admin < User
endhttps://stackoverflow.com/questions/16380458
复制相似问题