繁体   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