【问题标题】:Adding selected CSS/JavaScript to Ruby on Rails views将选定的 CSS/JavaScript 添加到 Ruby on Rails 视图
【发布时间】:2015-10-27 21:36:27
【问题描述】:

我只想在不同的视图上添加不同的 CSS/JavaScript。显然,如果我将它们放在布局中,它们将被添加到每个视图中。另外,我不想为不同的视图创建单独的布局。

我创建了一个布局layouts/standard.html.erb,头部包含以下内容:

<head>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
</head>

这不会将 app/assets 文件夹中的 CSS/JavaScript 添加到呈现的页面。

我还使用 javascript_include_tag 'filename' 在视图中的布局和 content_for 中尝试了 &lt;%= yield :javascript %&gt;,但它给出了资产管道错误。

【问题讨论】:

  • 你能把你试过的代码详细地贴出来吗?

标签: ruby-on-rails view


【解决方案1】:

您可以使用documentation 中描述的特定于控制器的javascript:

当你生成一个脚手架或控制器时,Rails 还会生成一个 JavaScript 文件(或 CoffeeScript 文件,如果 coffee-rails gem 在 Gemfile 中)和一个层叠样式表文件(或 SCSS 文件,如果 sass-rails 在Gemfile) 用于该控制器。此外,在生成脚手架时,Rails 会生成文件 scaffolds.css(如果 sass-rails 在 Gemfile 中,则生成脚手架.css.scss。)

例如,如果您生成一个 ProjectsController,Rails 还会在 app/assets/javascripts/projects.js.coffee 和 app/assets/stylesheets/projects.css.scss 添加一个新文件。默认情况下,这些文件将可以立即使用 require_tree 指令供您的应用程序使用。有关 require_tree 的更多详细信息,请参阅清单文件和指令。

我建议您也浏览所有页面以了解资产管道的工作原理。

【讨论】:

  • 非常感谢 EugZon,这解决了我的很多问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-10
  • 1970-01-01
  • 1970-01-01
  • 2010-12-21
  • 1970-01-01
  • 2012-06-19
相关资源
最近更新 更多