3

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

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

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

有解决办法吗?如果没有,需要修改 Sprockets 源的哪一部分?

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

4

2 回答 2

1

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

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

于 2011-12-29T17:45:22.467 回答
1

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

于 2011-11-10T08:02:23.080 回答