sprockets重复文件命名

我的资产路径中有以下文件:

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

当然,他们都会被要求作为assets/abc.js

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

我的想法是,如果引擎可以删除扩展,那么可以添加后缀。

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

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

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