开始使用设计开发我的应用程序身份验证,但是从模型访问current_user时遇到了麻烦。我从控制器访问它没有问题。
对于我的场景,我需要获取当前用户ID以跟踪谁编辑了博客文章,我使用before_save过滤器保存了用户ID。
感谢您的帮助!
由于
答案 0 :(得分:3)
您只能在参数中传递它。
class SomeModel
def my_nifty_method(user)
end
end
控制器中的:
class SomeModelsController < ApplicationController
def some_method
sm = SomeModel.new
sm.my_nifty_method(current_user)
end
end
答案 1 :(得分:-1)
您应该可以在模型中执行此操作。 'c'在这里是模型对象,在创建之前设置它的user_id属性,或者在你的情况下保存。
before_create {|c| c.user_id = Authorization.current_user.id}
我对RoR有些新意,所以请注意。
答案 2 :(得分:-5)
为什么要尝试在模型中访问该方法?
您可以通过self.id
(在模型中)