Ruby on rails 3.1 Rails 3.2.3资产管道预编译不起任何作用

Ruby on rails 3.1 Rails 3.2.3资产管道预编译不起任何作用,ruby-on-rails-3.1,asset-pipeline,Ruby On Rails 3.1,Asset Pipeline,我可以用Ruby 1.9.2在OSX和Windows上重现这个问题: 我有一个简单的Rails 3.2.3应用程序,正在尝试预编译assetpipeline,但是assets:precompile什么都不做。也不抱怨 以下是我所做的: 使用RVM,创建一个新的干净的gemset,称之为rails32 安装导轨:gem安装导轨-v3.2.3 创建虚拟脚手架:rails g scaffold测试名称:string 迁移prod db:rake db:Migrate RAILS\u ENV=produ

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

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

以下是我所做的:

  • 使用RVM,创建一个新的干净的gemset,称之为rails32
  • 安装导轨:gem安装导轨-v3.2.3
  • 创建虚拟脚手架:rails g scaffold测试名称:string
  • 迁移prod db:rake db:Migrate RAILS\u ENV=production
  • 在prod:rails s-e产品中运行服务器
  • 此时,我得到了我所期望的asset not precompiled异常。然后:

    我运行rake资产:precompilerails\u ENV=production

    它运行时没有错误和结束

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


    有什么想法吗?我认为这是使用assetpipeline的最简单形式。

    默认情况下,Rails需要高负载服务器(如Apache或nginx)在生产模式下为静态资产提供服务。如果你真的不想在这样的服务器后面运行你的应用程序,在你的config/environment.rb文件中,将
    config.service\u static\u assets
    更改为
    true
    ,默认情况下,Rails需要一个高负载服务器(如Apache或nginx)在生产模式下为静态资产提供服务。如果您确实不想在这样的服务器后面运行应用程序,请在config/environment.rb文件中,将
    config.service\u static\u assets
    更改为
    true