Rails 3.1和Coffeescript:需要整个目录

mik*_*ker 4 ruby-on-rails ruby-on-rails-3.1 sprockets asset-pipeline

这样的单个文件需要:

//= require controllers/documents
Run Code Online (Sandbox Code Playgroud)

是否需要一个目录?

Tre*_*ham 22

是的:

//= require_tree controllers
Run Code Online (Sandbox Code Playgroud)

顺便说一句,你将其标记为coffeescript,但你的问题使用JavaScript注释语法...所以对于记录,你想要使用CoffeeScript #=,而不是//=.

此外,这实际上是一个Sprockets问题,而不是Rails问题.链接是Rails 3.1中的默认值,但您也可以单独使用它.无论如何,链轮页面提供的文件上层层叠叠require,require_tree和许多其他方便的指令.

  • 使用它可能会给*require_tree参数必须是目录*错误(在我的情况下,使用带有Rails 4的CoffeeScript).解决方案是实际使用路径,例如`#= require_tree./ controllers`.请参见http://stackoverflow.com/a/8550646/472768 (7认同)