寻找在 Rails 模型中进行所有权验证而不会使控制器膨胀的最佳方法。这意味着我需要以某种方式将 current_user 传递给模型。
我目前在每个请求开始时将 User 模型上的类属性设置为 current_user :
class User < ActiveRecord::Base
cattr_accessor :current_user
end
class ApplicationController < ActionController::Base
before_filter :set_current_user
def set_current_user
User.current_user = current_user
end
end
我不确定我是否完全理解 User.current_user 在这种情况下的生命周期。在请求期间值是否可能会改变?
我主要想知道以上内容是否可以安全使用,以及是否有更好的方法。