我目前正努力做到这一点,如果用户不是管理员,他们无法进入'创建&编辑'页面,也不能销毁条目。
我在我的控制器中有这个方法
def must_be_admin
unless current_user && current_user.admin?
redirect_to root_path, notice: "Admin Needed."
end
end
我称之为:
before_filter :must_be_admin, only: [:edit, :destroy, :create]
这似乎在创建页面上的用户中没有记录,但是不允许他们执行实际的创建操作。反正是否也不允许用户在实际页面上?
基本上不允许任何非管理员用户 创建/编辑/销毁(以及不让它们在实际页面上)和 只需将它们重新路由回索引。
答案 0 :(得分:1)
是的,如果您限制新操作和编辑操作,他们将无法看到任何页面。如果你有一个标准的CRUD控制器,只需删除before_action中的“only”选项,所有非管理员都将被阻止。
您必须记住,在阻止创建操作时,您不会阻止显示所有内容的“新”操作页面。阻止“新”操作也会阻止他们查看页面。