0
cancan(Ryan Batesによる)を使用して、ロール "author"を持つユーザのページコントローラへのアクセスを無効にしたいとします。racan cancan gem uninitialized constant CanCan :: Ability :: I18n
をPagesControllerは、次のとおりです。
class PagesController < ApplicationController
def new
@page = Page.new
authorize! :update, @page
...
end
...
end
これは私が代わりに認可 の 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
I18nは、国際化(例えば、異なる言語)を意味します。あなたは英語以外の言語でRailsを実行していますか? –
これをうまく助けるために、あなたの 'ability.rb'ファイルも投稿します。 – janders223
@AlexPeattie MySQLデータベースの一部のテーブルは照合タイプlatin1_swedish_ciを使用し、他のテーブルはutf8_general_ciを使用します。これは問題だと思いますか?ありがとう – Usering