Rails 3.2资产管道问题

时间:2012-03-16 23:58:42

标签: ruby-on-rails asset-pipeline ruby-on-rails-3.2

我在应用中定义了一个JS文件 - app/assets/javascripts/client/some-client.js.coffee

在我的开发环境中,我可以通过网址访问此文件 - /assets/client/some-client.js

但我不能在制作中做同样的事情? ...意味着URL不起作用,可能出错?

2 个答案:

答案 0 :(得分:3)

在prod中,如果使用默认配置,则只能访问预编译文件。

您可以在config/environments/production.rb中定义要预编译的资产:

config.assets.precompile += %w( some-client.js blabla.js some-client.css ) #etc...

运行rake assets:precompile以...预编译您的资产。

使用本指南了解详情:http://guides.rubyonrails.org/asset_pipeline.html

答案 1 :(得分:0)

如果您还没找到,请务必通过<%= javascript_include_tag“some-client”%>来访问它。当资产管道处理它已经预编译资产的位置时。与config.assets.precomile + =%(some-client.js)一起。此外,如果帮助函数无法在生产中找到您可能想要尝试将客户端/资源/ javascript /客户端移动,我认为它寻找资产,例如app / assets / javascripts / lib / assets / javascripts /中的javascripts文件和vendor / assets / javascripts /如果我理解资产管道。看起来你没有在任何这些文件中使用它,所以它可能会跳过它,因为它没有看到它。

编辑:

看起来你在javascripts /抱歉。资产管道应该遍历子目录。