Ruby on rails rails cancan gem未初始化常量cancan::Ability::I18n

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?

我想使用Ryan Bates的cancan禁用具有角色作者的用户对页面控制器的访问

页面控制器如下所示

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