2011-04-19 35 views
5

我分配一個不同的佈局我的標誌,並註冊視圖在application_controller這樣的:不同的佈局色器件控制器問題,當表單錯誤

layout :layout_by_resource 

    def layout_by_resource 
    if devise_controller? && resource_name == :user && action_name == 'new' 
     "login" 
    else 
     "application" 
    end 
    end 

當進入登錄或註冊信息,它完美。但註冊時出現驗證錯誤,標準應用程序佈局會呈現。任何建議我做錯了什麼?

謝謝!

回答

4

好,修好了我自己;)有來檢查創建行動......

layout :layout_by_resource 

    protected 

    def layout_by_resource 
    if controller_name == 'registrations' && action_name == 'new' 
     'login' 
    elsif controller_name == 'registrations' && action_name == 'create' 
     'login' 
    elsif controller_name == 'sessions' && action_name == 'new' 
     'login' 
    else 
     'application' 
    end 
    end 
7
def layout_by_resource 
    devise_controller? ? 'login' : 'application' 
    end 

;)