Ruby on rails rails cancan gem未初始化常量cancan::Ability::I18n
我想使用Ryan Bates的cancan禁用具有角色作者的用户对页面控制器的访问 页面控制器如下所示Ruby on rails rails cancan gem未初始化常量cancan::Ability::I18n,ruby-on-rails,ruby,authorization,cancan,activesupport,Ruby On Rails,Ruby,Authorization,Cancan,Activesupport,我想使用Ryan Bates的cancan禁用具有角色作者的用户对页面控制器的访问 页面控制器如下所示 class PagesController < ApplicationController def new @page = Page.new authorize! :update, @page ... end ... end 您需要安装i18n gem。一旦安装,它就有望工作。I18n指国际化,例如不同的语言。您是否使用英语以外的语言运行Rails?
class PagesController < ApplicationController
def new
@page = Page.new
authorize! :update, @page
...
end
...
end
您需要安装i18n gem。一旦安装,它就有望工作。I18n指国际化,例如不同的语言。您是否使用英语以外的语言运行Rails?为了更好地帮助您,您还将发布您的ability.rb文件。@在MySQL数据库中,有些表使用排序规则类型latin1\u swedish\u ci,其他表使用utf8\u general\u ci。你认为这是一个问题吗?Thanks@janders223添加了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