Rails app在Safari上的生产看起来有所不同

时间:2016-04-19 10:59:42

标签: ruby-on-rails heroku safari assets

我在我的应用程序中发现了一个非常奇怪的错误。在开发过程中,在我的本地机器上,Safari,Chrome和Firefox中的一切看起来都很完美。但是在Safari中使用生产环境进行登台时,该应用程序在Chrome和Firefox中看起来非常丑陋和完美。其他一些页面在Safari中看起来不错,但我无法确定问题是什么。我现在必须说我们使用Heroku进行部署,我强烈认为这个事实很重要。

这是我的生产配置(config / environment / production.rb)

Rails.application.configure do
  config.cache_classes = true
  config.eager_load = true
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
  config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
  config.serve_static_assets = false
  config.assets.js_compressor = :uglifier
  config.assets.compile = true
  config.assets.digest = true
  config.log_level = :debug
  config.i18n.fallbacks = true
  config.active_support.deprecation = :notify
  config.log_formatter = ::Logger::Formatter.new
  config.active_record.dump_schema_after_migration = false
end

这是我的应用程序配置(config / application.rb):

require File.expand_path('../boot', __FILE__)

require 'rails/all'

Bundler.require(*Rails.groups)

module MyApp
  class Application < Rails::Application
    config.time_zone = "West Central Africa"
    config.autoload_paths << Rails.root.join('lib')
    config.i18n.fallbacks = true
  end
end

我在生产中使用Rails 4.2.5和gem rails_12factor。我已经阅读了有关资产的Heroku教程和这个答案https://stackoverflow.com/a/27626661/1771495,但他们对我没有帮助。

感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

这可能是Safari浏览器的隔离区 我不确定,但你可能想看看&#34;兼容模式&#34;浏览器的视图页面。

我有一次使用Firefox兼容性视图的经验,这让我的生产服务器看起来很糟糕。

答案 1 :(得分:0)

问题的原因在于Heroku。我在本地计算机上的生产环境中运行应用程序,所有页面看起来都很好。我没有设法确定确切的问题,但看起来Heroku的资产编译失败了。因此,我已经使用assets_async gem将资产移至AWS S3,现在一切顺利,快速。