2013-07-12 37 views
0

我的應用程序在模型的回調中創建了一個用戶,之後我無法弄清楚如何無縫登錄他,因爲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 

所以它(模型)創建之後如何在用戶登錄?

回答

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 
相關問題