2011-09-07 7 views
11

Ho passato il mio server in produzione e non riesco a caricare nessuna delle mie immagini. Funziona tutto bene in modalità sviluppo ma quando sono passato alla produzione tutto ha smesso di funzionare, ho abilitato server_static_assets e ancora niente funziona. Qualsiasi aiuto verso questo modoImmagini e risorse non funzionanti nel mio server di produzione su binari 3.1.0

+0

anche image_tag non funziona – Uchenna

+0

posso vedere questo nel mio server di log 'cache: [GET /assets/icon_thumb.png] stantio, valida, store' – Uchenna

risposta

25

Ecco alcuni problemi che potreste avere:

1 - La configurazione di produzione potrebbe non essere corretto. Questo è particolarmente probabile se hai iniziato con un rilascio anticipato 3.1, e sono stati aggiornati lungo la strada. Le opzioni suggerite per production.rb sono cambiate abbastanza tra rc4 e la versione 3.1.0.

Assicurarsi che le impostazioni production.rb includono:

# Disable Rails's static asset server (Apache or nginx will already do this) 
config.serve_static_assets = false 
# Don't fallback to assets pipeline if a precompiled asset is missed 
config.assets.compile = false 
# Generate digests for assets URLs 
config.assets.digest = true 

2 - si può avere dimenticato di precompilare il vostro patrimonio

RAILS_ENV=production rake assets:precompile 

3 - Potreste aver dimenticato di riavviare il server Web per raccogliere le modifiche in production.rb.

+0

yea grazie Avevo anche a correre rake rails: update per ottenere tutto fino a – Uchenna

1

Ricordarsi di eseguire rake assets:precompile nell'ambiente di produzione.

Se avete bisogno sta distribuendo con Capistrano, è possibile utilizzare questa ricetta:

before "deploy:symlink", "assets:precompile" 

namespace :assets do 
    desc "Compile assets" 
    task :precompile, :roles => :app do 
    run "cd #{release_path} && rake RAILS_ENV=#{rails_env} assets:precompile" 
    end 
end 
+2

Puoi anche aggiungere 'load 'deploy/assets'' al tuo deploy.rb – astjohn

+0

sì, probabilmente hai ragione @astjohn :) –

1

Se si esegue l'aggiornamento a Rails 4 o attualmente in uso sulla produzione, e sta caricando le immagini da css, quindi:

invece di

background-image: url('some_image.jpg'); 

fare

background-image: image-url('some_image.jpg'); 

Vedi http://guides.rubyonrails.org/asset_pipeline.html#css-and-sass per riferimento

+1

Questo non è realistico quando si usano le librerie js. – Donato

Problemi correlati