bra*_*che 5 ruby-on-rails-3.1 sprockets asset-pipeline
我正在尝试将我的应用程序升级到Rails 3.1,并且我有很多自定义Javascript文件,我正在尝试迁移到新的资产管道.
我当前(即3.1之前的)目录结构具有类似于:
public/
foo/
model.js
controller.js
etc...
Run Code Online (Sandbox Code Playgroud)
所以,我正在尝试将它们移到lib/assets/javascripts并保持foo /子目录完整(而不是制作foo_model.js,foo_controller.js等).
在我的application.js中,我试图这样做:
//= require foo/model
Run Code Online (Sandbox Code Playgroud)
和
//= require 'foo/model'
Run Code Online (Sandbox Code Playgroud)
但这些都行不通.Rails总是给我一个错误页面并说:
couldn't find file 'foo/model.js'
Run Code Online (Sandbox Code Playgroud)
如果它们不在子目录中,我确实测试了正确包含的东西,所以我知道这不仅仅是我的lib/assets目录不在include路径中.所以我想我只是想知道是否有办法做到这一点,或者我应该只是扁平化目录并使用foo_model.js等?
看起来rails只会将一级子目录添加到资产路径
您可以通过Rails.application.config.assets.paths在rails控制台上运行来检查当前路径
在application.rb中添加文件夹的绝对路径
config.assets.paths += ["/path/to/lib/assets/javascript/foo"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5230 次 |
| 最近记录: |