0
这是我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 %>
但我recive错误
“NoMethodError在帖子#指数未定义的方法`管理员? for#“
我应该在哪里定义管理员或其他角色?如何登录时如何选择管理员或其他角色?
你有一个类型列添加到用户,谷歌的单表继承,会让你的事情变得清晰。 – juanpastas 2013-05-05 01:22:21
我有任何管理模式,但现在创建并在用户中定义管理方法。现在我recive“NameError在帖子#索引undefined局部变量或方法'类型'为#<用户:0x007f76dc828d90>” – 2013-05-05 01:22:38
'rails g迁移AddTypeToUser类型:字符串'然后'rake db:migrate'。任何对我管理员的现有用户都需要手动更新他们的类型。 'user = User.find(id_of_admin); user.update_column( '类型', '管理');' – scarver2 2013-05-05 16:51:28