我正在使用devise token auth (本质上只使用 Devise)并且我试图在用户注册时保存资源对象之前修改它。 create
方法(如源代码中定义并在用户文档中解释的那样)具有 yield resource if block_given?
行,但是,以下代码无法按预期工作
class RegistrationsController < DeviseTokenAuth::RegistrationsController
def create
puts "this works"
super do |resource|
puts "this doesnt work"
end
end
end
知道为什么吗?
最佳答案
此基本 Controller 没有 block 调用。
它有 block 调用,但它不起作用,因为 DeviseTokenAuth::RegistrationsController 不会将 block 传递给它。
您需要一些其他方法来实现您想要的。
可能将代码从 DeviseTokenAuth::RegistrationsController 粘贴到您的自定义 Controller ,或者 fork DeviseTokenAuth gem 并修补它。
别忘了进行公关
关于ruby-on-rails - 如何将 block 传递给 Devise create 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611599/