如何根据条件检索帖子并编辑特定于用户的帖子?

时间:2012-09-26 09:17:37

标签: ruby-on-rails ruby-on-rails-3

我使用devise作为身份验证系统,用户登录后我想显示一个下拉列表,用户必须选择一个项目名称,然后点击下一步,这样他就可以查看已发布相关的帖子到那个项目。该帖子可以由许多用户发布和查看,而用户应该只能编辑他已发布但可以查看所有帖子的帖子。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您是否经历过任何基于角色的建模,您可以尝试cancan,或者对于您拥有所有者或者属于与用户的关系的简单用例。

因此,如果用户是帖子的所有者,则可以在编辑帖子之前使用过滤器之前

before_filter :is_owner_of_post,:only=>[:edit,:update,:destroy]
protected
def is_owner_of_post
 @post = Post.find(params[:id])
 if @post.user != current_user
  redirect_to root_path,:notice=>"Un authorized access"
 end 
end

阅读一些文章或观看一些关于授权的video,您可以获得更多想法。