【发布时间】:2015-12-19 02:31:31
【问题描述】:
我正在尝试使用 Rails 4 制作应用程序并设计和专家(使用 rolify 作为角色)
在:
class ApplicationPolicy
attr_reader :user, :record
def initialize(user, record)
@user = user
@record = record
end
根据这个 Go Rails 视频:https://gorails.com/episodes/authorization-with-pundit?autoplay=1
应用程序策略中的这个 attr_reader 部分涵盖了所有其他策略 - 因此您无需在每个策略中都重复。
但是,我当前的问题是我使用 devise,我是否应该更改应用程序策略以使用 current_user 而不是 user?例如:
class ApplicationPolicy
attr_reader :current_user, :record
def initialize(current_user, record)
@current_user = current_user
@record = record
end
我发现没有一个例子是这样做的,但我不明白为什么不这样做。
在开始为每项政策编写规则之前,我希望弄清楚自己的出发点是否正确。我制定策略的每个控制器操作都需要引用用户还是应该将它们全部更改为 current_user?
【问题讨论】:
标签: ruby-on-rails devise pundit