2012-02-08 11 views
9

Sono in procinto di aggiornare la mia app da Rails 3.0 a Rails 3.1.RAILS_ROOT non più valido quando si caricano le immagini con prawnto_2 gem

Ho abbinato i miei vecchi plug-in a favore di gemme laddove possibile e questo include la sostituzione del vecchio plugin prawnto con questa bella gemma splendente prawnto_2.

La maggior parte delle cose sembra soddisfacente, ma non riesco a caricare le immagini come prima. Il codice a mio avviso PDF è

pdf.image open("#{RAILS_ROOT}/public/images/logo.png") 

ma ottengo il seguente errore

uninitialized constant ActionView::CompiledTemplates::RAILS_ROOT 

mi rendo conto che la posizione del file di immagine cambierà come sono utilizzati mezzi e l'immagine non è più memorizzato nella cartella pubblica.

risposta

28

RAILS_ROOT è nel namespace globale, quindi bisogna usare

::RAILS_ROOT 

Tuttavia, questo è deprecato, quindi meglio usare

::Rails.root 

Per aggiungere un percorso per questo, è possibile utilizzare questo, che funziona anche su ... erm ... altri sistemi operativi

::Rails.root.join('public','images','logo.png') 
Problemi correlati