我想使用cancan(由Ryan Bates)禁用对具有角色“author”的用户的Pages控制器的访问权限。
PagesController如下
class PagesController < ApplicationController
def new
@page = Page.new
authorize! :update, @page
...
end
...
end
这是返回未初始化的常量CanCan :: Ability :: I18n 请注意,我使用时会发生同样的事情 load_and_authorize_resource 过滤而不是 授权! :update,@ page
我正在使用Rails 2.2.3。 有没有人遇到类似的问题? 感谢
添加ability.rb代码:
class Ability
include CanCan::Ability
def initialize(current_user)
user = User.find(:first, :conditions => ["username = ?", current_user])
user ||= User.new # guest user
if user.role?('admin')
can :manage, :all
can :manage, WpArticle
elsif user.role?('moderator')
can :manage, :all
elsif user.role?('author')
can :create, WpArticle
can :update, WpArticle
can :read, WpArticle
end
end
end
答案 0 :(得分:0)
您需要安装i18n gem。一旦安装,它应该有用。