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