2013-02-11 58 views
0

我想使用不同的佈局文件進行設計登錄。使用不同的佈局文件進行設計登錄

我試過了一個靜態頁面,但是得到了錯誤undefined local variable or method 'resource'

目前,在我的應用程序控制器我有:

的問題,這是每一個設計視圖使用佈局文件「登陸」,這是不好的,因爲我目前使用的色器件的編輯登記表爲一個帳戶頁面。

任何人都知道使用不同的佈局文件登錄設計的最佳方式?

回答

2

您可能需要做兩件事才能完成這項工作。

1)創建從Devise控制器繼承的獨立控制器,並聲明佈局調用。 Instructions

2)自定義視圖自己進一步甚至複製的意見。 Instructions可能不是必需的。

關於1)控制器(s):如果你只是想自定義登錄,你需要目標會議控制器。

# app/controllers/sessions_controller.rb 
class SessionsController < Devise::SessionsController 
    layout :layout_for_action 

protected 

    def layout_for_action 
    if params[:action] == '...' # See what the action is called internally beforehand 
     "signin" 
    else 
     "application" 
    end 
    end 

end 

然後,您需要指示制定的config/routes.rb使用您的控制器:

devise_for :admins, :controllers => { :sessions => "sessions" } 
+0

好吧,我創建的會話控制器,但我對如何添加到我的路線文件混淆。從說明中,我添加了'devise_for:admins,:controllers => {:sessions =>「admins/sessions」}'但我不知道要替換的是:admins和admins/sessions。 – user1975031 2013-02-11 19:48:56

+0

已添加。 ''admins/sessions「'是一個命名空間控制器,但你只有一個普通的''會話''。 – 2013-02-11 19:51:41

+0

似乎沒有工作。 – user1975031 2013-02-11 19:56:58

相關問題