簡體   English   中英

如何僅顯示Controller X的特定布局

[英]How do I only display a specific layout for Controller X

假設我只想在主頁上顯示特定的布局。 主頁的控制器和操作是home#index

如何為business#new顯示不同的布局?

有兩種選擇:

選項1-控制器級別的特定布局

只需在app/views/layouts創建一個名為business.html.erb的布局文件,它將被自動選中以呈現BusinessController所有視圖

選項2-控制器級別的自定義布局名稱

app/views/layouts創建一個名為my_custom_name.html.erb的布局文件,並在您的控制器中將其指定為:

class BusinessController < ApplicationController
  layout "my_custom_name"
  #...
end

my_custom_name布局將用於與BusinessController對應的所有視圖。

選項3-控制器中特定動作的布局

app/views/layouts創建一個名為layout_name.html.erb的布局文件,並在您的控制器中將其指定為:

class BusinessController < ApplicationController

   def new
     # ...
     render :layout => "layout_name"
   end 
end

在這種情況下, layout_name布局將僅應用於呈現new.html.erb頁面。

您可以使用以下命令指定控制器的布局

class businessController < ApplicationController
  layout "business_layout"
  #...
end

http://guides.rubyonrails.org/layouts_and_rendering.html 2.2.14查找布局

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM