Rails:如何控制 CSS,Javascript 文件

Rails: How to control CSS, Javascript files

如何控制 CSS 和 JavaScript 文件在 Rails 4 中加载而不是树加载?

我是 Rails 的新手,我注意到它为我创建了一个新的 CSS,每个控制器的 JS 文件,然后将它们全部包含在所有页面上,这要归功于 *= require_tree . .

我需要两件事:

  1. 让 Rails 自动包含我选择的默认 CSS/JS 文件加上一个 CSS/JS 由各自调用的控制器
  2. 能够添加在控制器中选择的新特殊CSS/JS

这个怎么样。

  1. 移除require_tree.
  2. 更改布局文件,其中包括 CSS/JS 匹配控制器名称。
  3. 将 CSS/JS 放入资产中。
  4. 显示 CSS/JS 个控制器。
  5. 在 production.rb 上扩展资产管道目标文件。

aaas 控制器示例

application.js

//= require jquery
//= require jquery_ujs
//= require turbolinks

application.css

/*
 *= require_self
 *= require font-awesome
 *= require_tree ./pepper-grinder
 *= require ./ui.jqgrid
 */

layouts/application.html.erb

<!DOCTYPE html>
<html>
<head>
  <title>Log Analyzer</title>
  <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
  <%= stylesheet_link_tag     controller.controller_name , media: "all", "data-turbolinks-track" => true %>
  <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
  <%= javascript_include_tag controller.controller_name , "data-turbolinks-track" => true %>
  <%= csrf_meta_tags %>
</head>

app/assets/javascripts/aaas.js

//= require jquery-ui-1.10.3.custom.min
//= require grid.locale-ja
//= require aaas_main

app/assets/stylesheets/aaas.css

/*
 *= require_self
 *= require aaas_main
 */

config/environments/production.rb

  #config.serve_static_assets = false

  config.assets.precompile += %w( aaas.js )
  config.assets.precompile += %w( aaas.css )

运行

$ rake assets:precompile RAILS_ENV=production
$ rails s -e production