Ruby on rails 3.1 Rails 3.1.1在图像资产上获取损坏的图像

Ruby on rails 3.1 Rails 3.1.1在图像资产上获取损坏的图像,ruby-on-rails-3.1,asset-pipeline,Ruby On Rails 3.1,Asset Pipeline,我缺少资产管道功能。在开发过程中一切都很好,我开始在生产环境中运行,一切都很糟糕 因此,我在app/assets/images中有一个名为“logo.png”的图像 我可以预编译(RAILS_ENV=production rake assets:precompile),并且我可以验证在public/assets中现在是否存在logo.png和logo-5fa60e416f495e562c56a5087fe696dc.png 然后我在生产rails的thin-e生产中运行 但我得到了一个破碎的图像

我缺少资产管道功能。在开发过程中一切都很好,我开始在生产环境中运行,一切都很糟糕

因此,我在app/assets/images中有一个名为“logo.png”的图像

  • 我可以预编译(
    RAILS_ENV=production rake assets:precompile
    ),并且我可以验证在public/assets中现在是否存在logo.png和logo-5fa60e416f495e562c56a5087fe696dc.png

  • 然后我在生产
    rails的thin-e生产中运行

  • 但我得到了一个破碎的图像

    获取404(未找到)

  • 发生了什么事

    我还注意到,当我切换到生产环境时,我也开始出现JQuery工具的javascript错误,如“JQuery未找到”,尽管在开发过程中没有出现任何问题,我在application.js中指定,JQuery应该先加载,然后再加载任何其他javascript文件。

    解决方案很简单(发现它没有)

    只需更新config/production.rb以反映以下内容:

     config.serve_static_assets = true
    
    尽管默认设置为false,但只有将其设置为true时,才能在生产环境中本地(通过webbrick或在我的示例中是thin)正确运行rails 3.1.x应用程序。在部署到实际的生产服务器之前,您可能希望将其设置回false