我在佈局/ application.html.erb中的應用程序中普遍呈現標題。刪除特定欄中的標題欄呈現.html.erb文件
我想使標題不出現在特定的foo.html.erb文件中。
un-rendering通用佈局的語法是什麼?
編輯:
佈局的控制器是一個色器件控制器,特別會話控制器。
我在佈局/ application.html.erb中的應用程序中普遍呈現標題。刪除特定欄中的標題欄呈現.html.erb文件
我想使標題不出現在特定的foo.html.erb文件中。
un-rendering通用佈局的語法是什麼?
編輯:
佈局的控制器是一個色器件控制器,特別會話控制器。
假設呈現模板foo.html.erb的控制器和動作是'things#foo',並且此動作的路徑是things_path。您可以按如下方式將標頭包裝在條件標籤中:
<% unless request.path == things_path %>
<% end %>
。有幾種方法可以做到這一點,但這裏有一個。
在你的控制器,你可以設置佈局,以虛假(或其他佈局),如果爲假,則你需要所有的HTML,頭部,身體標記在你的視圖文件
class BarController < ApplicationController
def foo
render :layout => false # render foo.html.erb with no layout
end
end
見2.2.11.2從軌道導向件:http://guides.rubyonrails.org/layouts_and_rendering.html
編輯:包括設計佈局覆蓋
在配置/初始化/ devise.rb
Devise::SessionsController.layout "bar"
Devise::RegistrationsController.layout "foo"
Devise::ConfirmationsController.layout false # never tried this, guessing it would work
Devise::UnlocksController.layout "bar"
Devise::PasswordsController.layout "foo"
也看到了維基崗位 - https://github.com/plataformatec/devise/wiki/How-To:-Create-custom-layouts有至少一個其他的方式
的一個缺點是,條件是聯繫在一起的控制器渲染的模板,而不是控制器本身,所以,除非你指定的上述條件的每個通往模板foo.html.erb的路徑,頭部仍然可以通過其他控制器操作呈現。 – cdesrosiers
工作!感謝您的幫助 –