Authentication 如何从模型中访问和设计当前用户
刚开始使用Desive for my app authentication进行开发,但是在从模型访问当前用户时遇到了麻烦。我从控制器上访问这个没有问题 对于我的场景,我需要获取当前用户id以跟踪谁编辑了博客文章,我在保存过滤器之前使用该用户id保存博客文章 谢谢你的帮助Authentication 如何从模型中访问和设计当前用户,authentication,devise,Authentication,Devise,刚开始使用Desive for my app authentication进行开发,但是在从模型访问当前用户时遇到了麻烦。我从控制器上访问这个没有问题 对于我的场景,我需要获取当前用户id以跟踪谁编辑了博客文章,我在保存过滤器之前使用该用户id保存博客文章 谢谢你的帮助 谢谢您只能在参数中传递它 class SomeModel def my_nifty_method(user) end end 在控制器中: class SomeModelsController < Applic
谢谢您只能在参数中传递它
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
class-SomeModelsController
您应该能够在您的模型中执行此操作。”这里是模型对象,在创建或保存之前设置它的user_id属性
before_create {|c| c.user_id = Authorization.current_user.id}
我对RoR有些陌生,所以请注意。为什么您要尝试在模型中访问该方法?
您可以通过
self.ID
(在模型中)self.ID
返回当前实例的ID,而不是当前用户的ID是,问题是:“…我需要获取当前用户ID…”否,问题是关于当前用户的id
问题很可能适用于用户模型以外的模型,因此self.id
返回用户以外的对象的id。这就是为什么你投了反对票。