如何从模型访问devise current_user

时间:2011-01-31 17:31:51

标签: authentication devise

开始使用设计开发我的应用程序身份验证,但是从模型访问current_user时遇到了麻烦。我从控制器访问它没有问题。

对于我的场景,我需要获取当前用户ID以跟踪谁编辑了博客文章,我使用before_save过滤器保存了用户ID。

感谢您的帮助!

由于

3 个答案:

答案 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(在模型中)

访问ID属性