如何让用户只能阅读他的帖子?

时间:2014-11-11 14:15:43

标签: ruby-on-rails devise cancan

我是rails的初学者。我创建了一个新的app,然后是scaffold post,然后安装了devise&可以可以。我能找到的教程几乎就是这样:

def initialize(user)
  user ||= User.new
  if user.admin?
    can :manage, Article
  else
    can :read, Article
  end
end

我不希望其他用户可以阅读my_own的帖子,我只想让每个用户只能阅读他的帖子。我怎样才能做到这一点?我希望有一个完整的样本,因为我是一个愚蠢的家伙。非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以传递散列conditions,例如

def initialize(user)
  user ||= User.new
  if user.admin?
    can :manage, Article
  else
    can :manage, Article, user_id: user.id
    can :read, Article
  end
end