CanCan gem创建具有条件的动作的问题

时间:2013-05-23 17:27:58

标签: ruby-on-rails authorization cancan

对不起我的英语...我正在使用cancan gem但是当我做这样的事情时,我在新动作上遇到了问题......

class Ability
  include CanCan::Ability
  def initialize(user)
    can :manage, Post, :id => 1
  end
end

新动作控制器没有id,因此我无权创建新帖子:(

有些帮助吗? 问候。

1 个答案:

答案 0 :(得分:0)

  

新动作...没有id ...我无权创建新帖子

您是否在控制器中使用load_resourceload_resource将应用能力定义中的条件。请参阅Authorizing controller actions

另外,你的能力定义很奇怪。更常见的是:用户可以管理自己的帖子,每个人都可以阅读。

def initialize(user)
  can :read, Post
  can :manage, Post, :user_id => user.id
end