我的应用程序在模型的回调中创建了一个用户,我无法弄清楚如何在此之后无缝地签名,因为sign_in帮助程序仅在控制器中可用。
after_validation do
return unless errors.empty?
if create_account == "1"
begin
self.user ||= User.create!(...)
rescue => e
errors.add(:create_account, 'bla bla')
end
end
端
那么如何在用户创建后(在模型中)登录?
答案 0 :(得分:1)
您无法通过模型登录用户,也不想这样做。
为什么在这里使用验证回调?
如果将此逻辑的一部分移动到控制器,您可以轻松实现所需。
def MyController < ApplicationController
def my_action
my_instance.user ||= User.new(...)
if my_instance.user.save
sign_in my_instance.user
end
end
end