目前,我已将按钮隐藏到未创建的帖子上的用户。如何阻止他们更新,修改或删除posts_controller
中的帖子?我尝试在编辑,更新和删除方法周围使用if @post.user == current_user
但只返回堆栈跟踪:
Missing template posts/update, application/update with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in: * "/Users/user1/workspace/webapp/app/views" * "/Users/user1/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/devise-3.5.2/app/views"
如何让试图编辑帖子的用户以及如果他不是所有者阻止他编辑,更新或删除?
答案 0 :(得分:1)
您必须拥有未经授权访问的模板,或者您可以重定向到网址if @post.user == current_user
。如下所示
if @post.user == current_user
flash.now[:error] = 'unauthorized access!'
redirect_to posts_path
end