ari*_*san 2 authorization cancan ruby-on-rails-3
我承诺定制一个具有cancan认证的项目.我的康康舞ability.rb
if user.has_role? :super_admin
can :manage, :all
elsif user.has_role? :site_admin
can :manage, [User, Listing]
elsif user.has_role? :manager
can :manage, Listing, :user_id => user.id
end
Run Code Online (Sandbox Code Playgroud)
我的模特:
User
Listing has_many :listing_types
ListingType belongs_to :listing
现在我创建了一个新模型 ListingDetail belongs_to :listing
控制器listing_details,load_and_authorize_resource
当我从经理角色访问此页面时,它重定向到登录页面(在我的管理命名空间的索引控制器的索引操作中,我重定向到nil用户的登录页面)为什么会发生这种情况?
您无法ListingDetail作为管理员访问控制器,因为您只被授予了Listing对象的权限.要ListingDetails仅为Listings您自己添加权限,请将以下内容添加到您的经理权限中:
can :manage, ListingDetail, :listing => {user_id => user.id}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |