从 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 的视图中删除/创建单独的样式的主要内容,如果未能解决你的问题,请参考以下文章

带有视图的 Rails3 本地化?

Rails 测试尝试删除 sql 视图

在 Rails 视图中截断 + 清理

当我从单独的视图控制器中删除核心数据实体时,为啥会调用 UITableView 方法?

Rails 视图在删除链接中传递了错误的参数

drupal 7删除样式标签形式rss视图字段