我知道如何爲devise指定一個佈局文件。但我不明白的是這是如何工作。具體來說,在下面的代碼中,如果它是設計控制器,則使用我的layout_name_for_devise
。所以我認爲這意味着如果它不是一個設計控制器(在我的情況下是app/views/layouts/application.html.haml
),就會使用「應用程序」佈局。現在,我有其他佈局,例如一個叫做home
的佈局。我認爲我的觀點使用我的home
佈局會打破......但事實證明它工作正常。 我不明白這是如何工作的。例如,當下面的代碼運行時,我的app/views/layouts/home.html.haml
佈局仍然被正確調用?在rails中爲devise gem指定一個佈局文件(這是做什麼的?)
class ApplicationController < ActionController::Base
layout :layout_by_resource
protected
def layout_by_resource
if devise_controller?
"layout_name_for_devise"
else
"application"
end
end
只要繼續並接受你自己的答案:)感謝您的方式信息! – murrekatt 2011-09-24 17:46:57