Ruby on rails 3.1 Rails资产管道在生产环境中不工作?

Ruby on rails 3.1 Rails资产管道在生产环境中不工作?,ruby-on-rails-3.1,asset-pipeline,Ruby On Rails 3.1,Asset Pipeline,我最近将一个应用程序从Rails 3.0升级到了3.1。我已按照我所能找到的任何指示启用资产管道,但在生产环境中时总是失败: <%= javascript_include_tag "application" %> 我在application.rb中尝试了这些设置的变化: 需要文件。展开路径('../boot',文件) #需要“rails/all” 需要“控制器/轨道连接的操作” 要求采取“行动”\u邮递员/railtie 需要“活动资源/railtie” 需要“轨道/测试单元/钢轨

我最近将一个应用程序从Rails 3.0升级到了3.1。我已按照我所能找到的任何指示启用资产管道,但在生产环境中时总是失败:

<%= javascript_include_tag "application" %>
我在application.rb中尝试了这些设置的变化:

需要文件。展开路径('../boot',文件)
#需要“rails/all”
需要“控制器/轨道连接的操作”
要求采取“行动”\u邮递员/railtie
需要“活动资源/railtie”
需要“轨道/测试单元/钢轨接头”
如果定义?(捆绑机)
#如果在部署到生产环境之前预编译资产,请使用此行
Bundler.require*Rails.groups(:资产=>%w(开发测试))
#如果您希望在生产中惰性地编译资产,请使用此行
#Bundler.require(:default,:assets,Rails.env)
结束
模块博客
类应用程序
和full production.rb(减去一些注释)

Blog::Application.configure do
config.cache_classes=true
config.consive\u all\u requests\u local=false
config.action\u controller.perform\u caching=true
config.service\u static\u assets=false
config.assets.compress=true
config.assets.compile=false
config.assets.digest=true
config.i18n.fallbacks=true
config.active\u support.deprecation=:notify
结束
我已经运行了
rakeassets:precompile
任务

我是否遗漏了任何明显的步骤

编辑:一些其他详细信息:

我的资产位于
app/assets
文件夹中
app/assets/images
app/assets/javascripts
app/assets/stylesheets
,等等

我在我的
public/assets
目录中看到生成的文件,其中包含名称和摘要

app/assets/javascripts/application.js
确实会编译成类似于
public/assets/application-6ec417a53cb2bdb949966a153a61e7b1.js的东西,它们最终会出现在
public
目录中。

参见

确保您的资产位于
app/assets
文件夹中
app/assets/images
app/assets/javascripts
app/assets/stylesheets
,等等

执行
rake资产:预编译

如果启用,您应该可以看到在
app/public/assets
目录中生成的文件,其中包含名称和摘要

app/assets/javascripts/application.js
将编译为
/assets/application-6ec417a53cb2bdb949966a153a61e7b1.js

如果资产的命名类似于上面的摘要,
Production.rb
应具有以下配置:

# Generate digests for assets URLs
config.assets.digest = true
如果查看网页源代码,您应该会看到类似以下内容:

<script src="/assets/application-6ec417a53cb2bdb949966a153a61e7b1.js" type="text/javascript"></script>

尝试通过转到
http://example.com//assets/application-6ec417a53cb2bdb949966a153a61e7b1.js


如果不加载文件,请尝试检查权限和其他日志。

链轮未加载

为了删除以前版本rails中的活动记录(这是一个问题),将
要求的'rails/all'
替换为

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"

这里缺少的是
链轮/railtie

谢谢,我在做更改时观看了轨道的铸造。我已经更新了我的答案以解决您的建议。您可以发布您的
应用程序.rb
生产.rb
?我已经在问题中添加了完整的
应用程序.rb
生产.rb
。完全回购:我使用的是RSpec,因此有一个类似的设置,test_单元被注释掉了。我不知道链轮有自己的导轨。非常感谢你这么做。
<script src="/assets/application-6ec417a53cb2bdb949966a153a61e7b1.js" type="text/javascript"></script>
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"