Rails - 控制器咖啡脚本在 bootswatch 主题后停止工作
Rails - controller coffee scripts stopped working after bootswatch theme
我被要求完成一项更改整个网站主题的任务。我使用 bootswatch superhero 主题成功地做到了这一点。但问题是有控制器 jquery 咖啡脚本,它们在应用主题后停止工作。它在 'app/assets/javascript//' 中创建了一个主题文件夹
我所有的控制器咖啡脚本都位于 javascript 根级别的主题文件夹之外,例如:'app/assets/javascripts/device.js.coffee'。如果我将它们移到 superhero 文件夹中,它们就会起作用。但是有大量的控制器脚本,我不想将它们全部移动到主题文件夹中。我在这里缺少什么。???
config/initializer/assets.rb
Rails.application.config.assets.version = '1.0'
Rails.application.config.assets.precompile += %w( twitter/bootstrap/glyphicons-halflings.png )
Rails.application.config.assets.precompile += %w( twitter/bootstrap/glyphicons-halflings-white.png )
Rails.application.config.assets.precompile += %w( superhero.css )
Rails.application.config.assets.precompile += %w( superhero.js )
app/assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require jquery-ui
我的资产管道文件夹结构
谢谢大家的观看,我通过彻底阅读资产管道的工作原理自己弄明白了。当您应用新主题时,它会在 assets/javascripts/ 下创建 "theme_name.js"。默认情况下 application.js 设置为预编译。但是我们将在 config/initializers/assets.rb 中使用以下内容覆盖它。 "Rails.application.config.assets.precompile += %w( superhero.js )"
因此,如果您希望控制器脚本在新主题之外工作,只需将此指令 //= require_tree .
包含在 theme_name.js 文件中。瞧!它奏效了...
我被要求完成一项更改整个网站主题的任务。我使用 bootswatch superhero 主题成功地做到了这一点。但问题是有控制器 jquery 咖啡脚本,它们在应用主题后停止工作。它在 'app/assets/javascript//' 中创建了一个主题文件夹 我所有的控制器咖啡脚本都位于 javascript 根级别的主题文件夹之外,例如:'app/assets/javascripts/device.js.coffee'。如果我将它们移到 superhero 文件夹中,它们就会起作用。但是有大量的控制器脚本,我不想将它们全部移动到主题文件夹中。我在这里缺少什么。???
config/initializer/assets.rb
Rails.application.config.assets.version = '1.0'
Rails.application.config.assets.precompile += %w( twitter/bootstrap/glyphicons-halflings.png )
Rails.application.config.assets.precompile += %w( twitter/bootstrap/glyphicons-halflings-white.png )
Rails.application.config.assets.precompile += %w( superhero.css )
Rails.application.config.assets.precompile += %w( superhero.js )
app/assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require jquery-ui
我的资产管道文件夹结构
谢谢大家的观看,我通过彻底阅读资产管道的工作原理自己弄明白了。当您应用新主题时,它会在 assets/javascripts/ 下创建 "theme_name.js"。默认情况下 application.js 设置为预编译。但是我们将在 config/initializers/assets.rb 中使用以下内容覆盖它。 "Rails.application.config.assets.precompile += %w( superhero.js )"
因此,如果您希望控制器脚本在新主题之外工作,只需将此指令 //= require_tree .
包含在 theme_name.js 文件中。瞧!它奏效了...