2

我可以使用 Ruby 1.9.2 在 OSX 和 Windows 上重现此问题:

我有一个简单的 Rails 3.2.3 应用程序,正在尝试预编译资产管道,但资产:预编译什么都不做。也不抱怨。

这是我所做的:

  1. 使用 RVM,创建一个新的干净的 gemset,命名为 rails32
  2. 安装导轨:gem install rails -v 3.2.3
  3. 创建一个虚拟脚手架:rails g scaffold test name:string
  4. 迁移产品数据库:rake db:migrate RAILS_ENV=production
  5. 在 prod 中运行服务器:rails s -e production

在这一点上,我得到了我所期待的资产未预编译异常。然后:

我运行 rake assets:precompile RAILS_ENV=production

它运行没有错误并结束。

之后,我的应用程序在 HTML 中有指纹资产,但它们不存在于任何地方。

有任何想法吗?我认为这是使用资产管道的最简单形式。

4

1 回答 1

0

默认情况下,Rails 期望一个高负载服务器(例如 Apache 或 nginx)在生产模式下为静态资产提供服务。如果您真的不想在这样的服务器后面运行您的应用程序,请在 config/environment.rb 文件中更改config.serve_static_assetstrue.

于 2012-08-09T14:19:30.593 回答