2017-09-24 5 views
0

Railsでプロダクションモードに切り替えると、CSSはロードされていますが画像はロードされません。私は、nginxのレールを再起動した画像がプロダクションモードで表示されない

background:url("/assets/str.png") repeat #fbfbfb; 

、および:私はこれで画像に

私の.cssリンク私の/アプリ/資産/画像に私の/アプリ/資産/スタイルシートでのCSSととイメージを持っています旅客

touch home/user/railsapp/tmp/restart.txt 
passenger-config restart-app 
sudo service nginx restart 

は、私が試してみました:

rake assets:clobber 
rake assets:precompile 

私の秘密鍵はsecrets.ymlに結び付けられている

私はnginxのの設定でこれを持っている:私は試みることができる他に何の

passenger_enabled on; 
    passenger_app_env production; 

任意の提案ですか?私も私の.cssと改名production.rb

UPDATE

# Added this to allow images to be compiled from assets folder. 
config.assets.precompile += %w[*.png *.jpg *.jpeg *.gif] 

:ここに は私の環境/ production.rb

rails.application.configure do 
    # Settings specified here will take precedence over those in config/application.rb. 

    # Code is not reloaded between requests. 
    config.cache_classes = true 

    # Eager load code on boot. This eager loads most of Rails and 
    # your application in memory, allowing both threaded web servers 
    # and those relying on copy on write to perform better. 
    # Rake tasks automatically ignore this option for performance. 
    config.eager_load = true 

    # Full error reports are disabled and caching is turned on. 
    config.consider_all_requests_local  = false 
    config.action_controller.perform_caching = true 

    # Disable serving static files from the `/public` folder by default since 
    # Apache or NGINX already handles this. 
    config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? 

    # Compress JavaScripts and CSS. 
    config.assets.js_compressor = :uglifier 
    # config.assets.css_compressor = :sass 

    # Added this to allow images to be compiled from assets folder. 
    config.assets.precompile += %w[*.png *.jpg *.jpeg *.gif] 

    # Do not fallback to assets pipeline if a precompiled asset is missed. 
    config.assets.compile = false 

    # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb 

    # Enable serving of images, stylesheets, and JavaScripts from an asset server. 
    # config.action_controller.asset_host = 'http://assets.example.com' 

    # Specifies the header that your server uses for sending files. 
    # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache 
    # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX 

    # Mount Action Cable outside main process or domain 
    # config.action_cable.mount_path = nil 
# config.action_cable.url = 'wss://example.com/cable' 
    # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] 

    # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. 
    # config.force_ssl = true 

    # Use the lowest log level to ensure availability of diagnostic information 
    # when problems arise. 
    config.log_level = :debug 

    # Prepend all log lines with the following tags. 
    config.log_tags = [ :request_id ] 

    # Use a different cache store in production. 
    # config.cache_store = :mem_cache_store 

    # Use a real queuing backend for Active Job (and separate queues per environment) 
    # config.active_job.queue_adapter  = :resque 
    # config.active_job.queue_name_prefix = "zenapp_#{Rails.env}" 
    config.action_mailer.perform_caching = false 
    # Ignore bad email addresses and do not raise email delivery errors. 
    # Set this to true and configure the email server for immediate delivery to raise delivery errors. 
    # config.action_mailer.raise_delivery_errors = false 

    # Enable locale fallbacks for I18n (makes lookups for any locale fall back to 
    # the I18n.default_locale when a translation cannot be found). 
    config.i18n.fallbacks = true 

    # Send deprecation notices to registered listeners. 
    config.active_support.deprecation = :notify 

    # Use default logging formatter so that PID and timestamp are not suppressed. 
    config.log_formatter = ::Logger::Formatter.new 

    # Use a different logger for distributed setups. 
    # require 'syslog/logger' 
    # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') 

    if ENV["RAILS_LOG_TO_STDOUT"].present? 
    logger   = ActiveSupport::Logger.new(STDOUT) 
    logger.formatter = config.log_formatter 
    config.logger = ActiveSupport::TaggedLogging.new(logger) 
    end 

    # Do not dump schema after migrations. 
    config.active_record.dump_schema_after_migration = false 
end 

である私はちょうど追加しましたapplication.css.erbに変更し、CSSを

に変更しました
background-image: url(<%= asset_path 'str.png' %>) repeat #fbfbfb; 

まだ動作していません。

答えて

0

あなたは、私が以前に今日というを試してみましたが、運がなかった

background: url(image_path("str.png")) repeat #fbfbfb; 
+0

を試みることができます。私が動作させる唯一の方法は、 'config.assets.compile'をproduction.rbでtrueに設定することです。しかし、ここではこのオプションを使用しないでください。 –

+0

image_path( "str.png")またはimage_path( "assets/str.png")を使用しましたか?両方の場合を試してみてください。私のアプリケーションでは、assetsフォルダを追加する必要はありません。 config.assets.compileがfalseに設定されていて、動作しています。 – Pablo

+0

私は今、両方を試してみましたが、動作していません。私も旅客を捨て、差をつけなかったプーマに切り替えました。私はNginxを通じて資産をホスティングしてみました。それは同じことをします。私は困惑している。 –

関連する問題