sprockets重复文件命名
我的资产路径中有以下文件:
javascripts/abc.js templates/abc.js.mustache # this gets compiled to abc.js
当然,他们都会被要求作为assets/abc.js
有修复吗? 如果不是,需要修改Sprockets源的哪一部分?
我的想法是,如果引擎可以删除扩展,那么可以添加后缀。
它可能太明显了,但重命名文件不是更好吗? 我理解你的问题的本质,但很难想象最终的要求,它们强制这些文件的相同文件名。 因此,你有foobar.js
和foobar.js.mustache
,它编译成foobar.js
。 为什么他们有相同的名字? 他们做同样的事情? 如果你问我,这是设计缺陷。
我有同样的问题,还没有找到令人满意的解决方案。 我的网站有许多复杂的全栈插件(也就是引擎),它们有很多css,js和图像文件。 必须命名空间,例如每个插件中的“styles.css”有点糟糕。 升级到Rails 3时,我认为文件解析器会将引擎/插件放入/ styles中,但不是,它们都会合并到一个虚拟路径中。
我目前的临时解决方案是构建一个我运行的rake任务,检查重复的文件名。 我在提交代码和部署之前运行它。 Hackity! 如果这有帮助,那很好,如果没有,也许有人在那里有一个更优雅的解决方案……
- Rails 5 Heroku部署错误:ExecJS :: ProgramError:SyntaxError:意外的令牌:name(autoRegisterNamespace)
- 有一种方法可以同样处理`after_save`和`after_destroy`“吗?
- 选择Active Record中的内部连接的所有列
- Rails 4:如果没有指定HTTP方法,则不应在路由器中使用`match`方法
- 使用Gemfile中的环境变量部署到Heroku
- 在Rails中的会话中存储对象
- 在Rails查询中获取关联模型的属性
- Heroku运行rake db:迁移错误,“没有这样的文件加载 – bundler / setup”
- 耙子流产了! Gem :: LoadError:为数据库适配器指定’postgresql’