【发布时间】:2015-07-09 07:25:15
【问题描述】:
我想为我的管理员用户提供比普通用户更多的权限,这里是我的 before_action :
# users_controller.rb
before_action :correct_user, only: [:edit, :update, :show]
before_action :admin_user, only: [:destroy, :index, :admin_toggle]
因此,如果您是正确的用户,您可以:编辑、更新、显示您自己的个人资料。
如果您是 admin_user,您可以查看列表(索引)、销毁您自己的个人资料、切换管理员任何用户、编辑/更新/显示您自己的个人资料(admin_user 也是正确的用户)。
我希望 admin_user 能够编辑、更新、显示其他成员的个人资料:我需要编写特定的方法还是使用 before_action 有什么技巧?
似乎 admin_user 应该拥有correct_user 的权限 - 给定任何用户 ID -。
【问题讨论】:
-
我感觉你在混淆
before_action真正应该有什么目的。它旨在调用一种方法,而不是真正规范对资源的访问;应该由这里不是必要的其他业务逻辑控制。 -
谢谢。读完你之后,我在网上搜索了有关使用 Rails 的管理界面的信息,而且确实有一些工具更加连贯!
标签: ruby-on-rails railstutorial.org