我有一个约有20个视图的rails应用程序。在其中的15个视图中,我想要反映相同的样式 - Navbar在顶部,相同的按钮等。现在,这就是我所拥有的。
但是,在其他5个视图中,我想要一个与上述不同的特定样式。现在,当我创建一个新视图时,每个视图都具有与其他视图相同的样式。我假设这是因为我的application.html.erb
文件包含该特定样式。
如何为特定视图/一组视图创建一个与大多数视图完全不同的自定义布局?看起来自app/views/layouts
引用了自定义样式,但是如果是这种情况,我会使用什么命名约定来创建新布局,如何从我的视图中引用该布局?
答案 0 :(得分:1)
您可以在控制器中执行此操作的一种方法。您可以在custom_layout.erb
中创建名为app/views/layouts
的新布局,然后在控制器中,您可以在操作中引用布局
def show
render layout: "custom_layout"
end
或整个控制器
class HomeController < ApplicationController
layout "custom_layout"
def show
end
end
有关更多示例,请查看Rails Guide - Layouts and Rendering第2.2.11.2和2.2.12节
希望这有帮助