2015-04-03 60 views
1

我被要求開展一項任務以更改整個站點主題。我成功地使用了靴子超級英雄主題。但問題是有控制器jquery咖啡腳本,並在應用主題後停止工作。它在'app/assets/javascript //' 內創建一個主題文件夾,並且我的所有控制器咖啡腳本都位於主題文件夾的一側,該主題文件夾位於javascript根級別:'app/assets/javascripts/device.js.coffee' 。如果我將它們移動到他們工作的超級英雄文件夾中。但有很多控制器腳本,我不想將它們全部移到主題文件夾中。我在這裏錯過了什麼。Rails - 控制器咖啡腳本在bootswatch主題後停止工作

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) 

應用程序/資產/ Java腳本/ application.js中

//= require jquery 
//= require jquery_ujs 
//= require twitter/bootstrap 
//= require jquery-ui 

我的資產管線文件夾結構 enter image description here

+0

定義「工作」和「停止工作」。你究竟在看什麼? – Cheezmeister 2015-04-04 05:28:12

+0

例如,我有動態選擇菜單,並通過grouped_collection_select和少量的jQuery腳本實現。它現在不工作,我看到所有的二次下拉的值(未經過濾)。 – Krish 2015-04-06 01:42:41

回答

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 .。瞧!它的工作...