0
我想使用cancan(by Ryan Bates)爲具有「author」角色的用戶禁用對Pages控制器的訪問。rails cancan gem未初始化常量CanCan :: Ability :: I18n
的PagesController如下
class PagesController < ApplicationController
def new
@page = Page.new
authorize! :update, @page
...
end
...
end
這是返回未初始化的常量慘慘:: ::能力的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
I18n是指國際化(例如不同的語言)。您是否使用英語以外的語言運行Rails? –
爲了更好地幫助你,你還會發布你的'ability.rb'文件。 – janders223
@AlexPeattie MySQL數據庫中的某些表使用歸類類型latin1_swedish_ci,而其他使用utf8_general_ci。你認爲這是一個問題嗎?謝謝 – Usering