我有一个Rails 3.1项目,我正在尝试包含一个同时包含js,css和image文件的jQuery插件,我将它们放在vendor/assets/chosen/{images,javascripts,stylesheets}
之下,并且我添加了index.css和index .js到各自的dirs。
然后我尝试在application.css和application.js中包含插件:
的application.js:
//= require chosen
application.css
/*
*= require chosen
*/
但是当我加载页面时,我收到此错误:
couldn't find file 'chosen'
(in /..../app/assets/stylesheets/screen.css:8)
根据2.1.2下的this页面,您应该能够至少使用lib目录(我已尝试过,同样的结果)。有人有任何提示吗?
更新
当我检查rails中的assets.paths时,包括vendor/assets/chosen
。
答案 0 :(得分:0)
尝试编写插件文件的相关路径。例如(这就是我在项目中包含colorpicker的方式):
//= require ../../../vendor/assets/javascripts/colorpicker #in application.js
*= require ../../../vendor/assets/stylesheets/colorpicker #in application.css
对你而言,这将是这样的:
//= require ../../../vendor/assets/javascripts/chosen #in application.js
*= require ../../../vendor/assets/stylesheets/chosen #application.css
还要确保您的路径对于Rails可见。 (config.assets.paths)
答案 1 :(得分:0)
//= require chosen
您在application.js中添加的上述代码告诉Rails在资源路径中查找名为“selected”的文件。由于您没有名为“selected”的文件,因此rails抱怨“找不到文件”,这是正确的。你需要的是require_tree
#application.js
//= require_tree ../../../vendor/assets/chosen/javascripts
#application.css
*= require_tree ../../../vendor/assets/chosen/stylesheets