我被要求处理一项改变整个网站主题的任务。我成功地使用bootswatch超级英雄主题。但问题是有控制器jquery咖啡脚本,他们在应用主题后停止工作。它在'app / assets / javascript //'中创建一个主题文件夹 并且我的所有控制器咖啡脚本都位于主题文件夹的一侧,该文件夹位于javascript根级别ex:'app / assets / javascripts / device.js.coffee'。如果我将它们移到超级英雄文件夹中,它们就能正常工作。但是有很多控制器脚本,我不想将它们全部移动到主题文件夹中。我在这里失踪了什么。???
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 )
应用/资产/ Javascript角/ application.js中
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require jquery-ui
我的资产管道文件夹结构
答案 0 :(得分:1)
谢谢大家的关注,我通过彻底阅读资产管道如何运作来弄清楚自己。当您应用新主题时,它会在assets / javascripts /下创建“theme_name.js”。默认情况下,application.js设置为预编译。但我们将在config / initializers / assets.rb中使用以下内容覆盖它。 "Rails.application.config.assets.precompile += %w( superhero.js )"
因此,如果您希望控制器脚本能够在新主题之外工作,请在theme_name.js文件中包含此指令//= require_tree .
。瞧!!它有效...