0

我正在使用设计作为身份验证系统,在用户登录后,我想显示一个下拉列表,用户必须在其中选择一个项目名称并单击下一步,这应该允许他查看已发布的与该项目相关的帖子. 该帖子可以被许多用户发布和查看,而用户应该只能编辑他发布的帖子,但可以查看所有帖子。我怎样才能做到这一点?

4

1 回答 1

1

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

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

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

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

于 2012-09-26T09:26:24.503 回答