簡體   English   中英

Ruby on Rails:一個控制器中動作的默認模板

[英]Ruby on Rails: Default template for actions in one controller

我有一個控制器,恰巧每個動作都使用相同的(rabl)模板。 有沒有一種方法可以默認渲染該模板,而不必在每個操作中都放置調用render 'name'

我認為您可以為您的特定控制器創建另一個布局。 例如:

class MyController < ApplicationController
  layout "name"
  #...
end

請參見《 Rails指南-Rails中的布局和渲染 》中的“ 2.2.14查找布局”。

更新:

默認的渲染行為是如果未分配渲染視圖,則渲染與動作名稱相同的視圖。 要更改默認行為,您需要覆蓋render方法,例如:

class MyController < ApplicationController
  #...
  def render *args
    args = ["the_view_name_which_you_want_to_render"] if args == []
    super
  end
  # ...
end

如果要在所有控制器中覆蓋render方法,則可以將方法移至應用程序控制器,但是我認為這不是一個好主意。

暫無
暫無

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

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