2011-08-22 110 views
5

我正在尝试将我的应用程序升级到Rails 3.1,我有很多自定义Javascript文件,我试图迁移到新的资产管道。要求从资产路径的子目录资产文件

我现在的(即预3.1)目录结构是这样的:

public/ 
    foo/ 
     model.js 
     controller.js 
     etc... 

所以,我想这些移动的lib /资产/ JavaScript和保持富/子目录完好无损(而不是使foo_model.js,foo_controller.js等)。

在我的application.js我试图做的:

//= require foo/model 

//= require 'foo/model' 

但这些不工作。 Rails的总是给我一个错误页面,并说:

couldn't find file 'foo/model.js' 

我做了测试,事情得到正确包括,如果他们在子目录不是,所以我知道这不只是我的lib /资产目录不在包括路径或其他东西。所以我想我只是想知道是否有办法做到这一点,或者我应该平坦的目录和使用foo_model.js等?

回答

6

看起来像只轨子目录一个级别添加到资产路径

您可以通过在轨运行控制台与Rails.application.config.assets.paths电流通路检查

在application.rb中添加文件夹的绝对路径,像

config.assets.paths += ["/path/to/lib/assets/javascript/foo"] 
+0

所以根据链轮使用网页(http://getsprockets.org/installation_and_usage)你应该能够做到如: // =要求 但这似乎不起作用。我不确定这是否是一个错误,或者如果我只是做错了什么。这对我来说似乎更理想,但是您的解决方案是实际运作的解决方案,所以我给了您信用。 :) – bratsche

相关问题