我正在使用devise token auth(其本身就是使用Devise),我试图修改resource
对象,然后在用户注册时保存它。源代码中定义并在用户文档中解释的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
知道为什么吗?
答案 0 :(得分:2)
这个基本控制器没有块调用。
它有块调用,但是它不起作用,因为DeviseTokenAuth :: RegistrationsController不会向它传递块。
你需要一些其他方法来实现你想要的目标。
可能会将DeviseTokenAuth :: RegistrationsController中的代码粘贴到您的自定义控制器上,或者将DeviseTokenAuth gem粘贴并修补它。
别忘了做PR