2011-11-06 43 views
3

我有以下的文件,在我的资源路径:链轮复制文件命名

javascripts/abc.js 
templates/abc.js.mustache # this gets compiled to abc.js 

自然,它们都将被要求为assets/abc.js

是否有修复?如果不是,哪部分的Sprockets源码需要修改?

我的想法是,如果引擎可以删除扩展名,它可以添加一个后缀。

回答

1

这可能太明显了,但更好的只是重命名文件?我理解你的问题的本质,但很难想象最终的需求,这迫使这些文件使用相同的文件名。因此,你有foobar.jsfoobar.js.mustache,编译为foobar.js。为什么他们有相同的名字?他们做同样的事情?这是设计缺陷,如果你问我。

1

我有同样的问题,还没有找到一个令人满意的解决方案。我的站点有许多复杂的全栈插件(aka引擎),并且它们有很多css,js和图像文件。不得不命名空间,例如每个插件中的“styles.css”都会吸引人。当升级到Rails 3时,我认为文件解析器会将引擎/插件放入/样式中,但不是,它们都会合并到一个虚拟路径中。

我目前的临时解决方案是构建一个rake任务,我运行它检查重复的文件名。我在提交代码和部署之前运行它。 Hackity!如果这有帮助,那么很好,如果没有,也许有人在那里有一个更优雅的解决方案...