从Rails中的视图中删除/创建单独的样式

时间:2013-12-18 03:11:57

标签: ruby-on-rails layout views

我有一个约有20个视图的rails应用程序。在其中的15个视图中,我想要反映相同的样式 - Navbar在顶部,相同的按钮等。现在,这就是我所拥有的。

但是,在其他5个视图中,我想要一个与上述不同的特定样式。现在,当我创建一个新视图时,每个视图都具有与其他视图相同的样式。我假设这是因为我的application.html.erb文件包含该特定样式。

如何为特定视图/一组视图创建一个与大多数视图完全不同的自定义布局?看起来自app/views/layouts引用了自定义样式,但是如果是这种情况,我会使用什么命名约定来创建新布局,如何从我的视图中引用该布局?

1 个答案:

答案 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节

希望这有帮助