对于大多数视图(例如页眉和页脚),我有一些常见的HTML,因此我将它们放在application.html.erb
文件中。
现在,我有几个页面的HTML与其他页面没有任何共同之处,因此我想要一种方法从视图文件中完全加载这些页面而不涉及{而不是更改application.html.erb
并影响所有页面。 {1}}。
答案 0 :(得分:1)
在操作结束时添加render layout: false
,或者如果要将其用于控制器中的每个操作,请在控制器的开头添加layout false
。
答案 1 :(得分:0)
您必须声明布局false,而不是控制器操作,如:
def action_name
...
render layout: false
...
end
您可以在http://guides.rubyonrails.org/layouts_and_rendering.html#options-for-render
中查看渲染选项答案 2 :(得分:0)
有很多方法可以渲染任何布局或其他布局。 默认情况下是application.html.erb布局。
- 在下面的代码中,没有任何布局被调用到任何操作。或者为所有操作调用指定的布局。
class UserController < ApplicationController
layout :false
def action
..
end
end
- 在下面的代码中,仅调用特定的操作布局,而对于其他操作,则调用默认布局。
class UserController < ApplicationController
def action
..
render layout :false
end
end