2013-09-25 23 views
14

Raylarda 4 benim image_tag ("assets/logo.png") dosyaya sindirilerek yok, varlıklar da kamuya açık olan görseller içeriyor/*raylar 4 image_tag, sindirilmiş resim varlıklarıma bağlamıyor

Benim production.rb: neden bu olmuyor

Books::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 thread 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 

    # Enable Rack::Cache to put a simple HTTP cache in front of your application 
    # Add `rack-cache` to your Gemfile before enabling this. 
    # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid. 
    # config.action_dispatch.rack_cache = true 

    # Disable Rails's static asset server (Apache or nginx will already do this). 
    config.serve_static_assets = false 

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

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

    # Generate digests for assets URLs. 
    config.assets.digest = true 

    # Version of your assets, change this if you want to expire all your assets. 
    config.assets.version = '1.0' 

    # 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 

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

    # Set to :debug to see everything in the log. 
    config.log_level = :debug 

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

    # Use a different logger for distributed setups. 
    # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) 

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

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

    # Precompile additional assets. 
    # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. 
    # config.assets.precompile += %w(search.js) 
    config.assets.precompile += [/^[a-z0-9]\w+.(css|js)$/] 

    # 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 can not be found). 
    config.i18n.fallbacks = true 

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

    # Disable automatic flushing of the log to improve performance. 
    # config.autoflush_log = false 

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

end 

ben 2 saat tamamen seçenekler arasından bu sorunu çözmek için harcarsın?

cevap

15

Bu sorunla uğraştım ve çözüm oldukça basit: giriş yolunun "/ assets" bölümünü kaldırın. Raylar, image_tag öğesini kullanırken nereye bakılacağını bilir. Resim dosyasını/varlıkları/resimlerine yerleştirdiğinizden emin olun.

+0

Tamamen sağ görüntü klasörüne, bağlanır. (Rails 4, varsayılan olarak non-digest varlıklarını üretmez. Muhtemelen uygulamam sindirilmiş resim varlıklarını kullanmamıştı ama daha önce hiç fark etmemiştim!) Tekrar teşekkürler – Rubytastic

3

Görüntünüzü "öğeler/resimler" içine koyun. Size göre

: isim yanlış yazmadığınızdan Raylar varlık klasörlerinde görüntüyü bulabilirse

image_tag "my_image.png", class: "optional_class" 

API reference

2

, emin olun, o zaman derlenmiş varlık yoluna bağlayacak . o görüntüyü bulamazsa biri varsa, o bunu kullanarak/varlık/Rails 2 beri benim IMAGE_PATH yıllarda bu kırmak gibi görünüyor ardı Nasıl yerine

image_tag("logo.png") 
=> '/assets/logo-f2c87c4e3fda671a619ccb7...png' # if image exists 
=> '/images/logo.png' # if image does not exists in asset folder