从 Rails 的视图中删除/创建单独的样式
Posted
技术标签:
【中文标题】从 Rails 的视图中删除/创建单独的样式【英文标题】:Remove/create individual styling from a view in Rails 【发布时间】:2013-12-18 03:11:57 【问题描述】:我有一个大约有 20 个视图的 rails 应用程序。在其中的 15 个视图中,我希望反映相同的样式 - 顶部的导航栏、相同的按钮等。现在,这就是我所拥有的。
但是,在其他 5 个视图中,我想要与上述不同的特定样式。现在,当我创建一个新视图时,每个视图都具有与其他 15 个相同的样式。我假设这是因为我的 application.html.erb
文件包含该特定样式。
如何为与大多数视图完全不同的特定视图/视图集创建自定义布局?看起来自定义样式是从 app/views/layouts
引用的,但如果是这种情况,我应该使用什么命名约定来创建新布局以及如何从我的视图中引用该布局?
【问题讨论】:
【参考方案1】:您可以在控制器中执行此操作。您可以在app/views/layouts
中创建一个名为custom_layout.erb
的新布局,然后在您的控制器中,您可以在操作中引用该布局
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 节了解更多示例
希望对你有帮助
【讨论】:
绝对 - 谢谢,我会查看指南并使用您在此处获得的内容开始。以上是关于从 Rails 的视图中删除/创建单独的样式的主要内容,如果未能解决你的问题,请参考以下文章