Ci scusiamo se si tratta di un lungo accumulo di una semplice domanda, ma volevo chiarire i miei pensieri.Rails 4 asset statici in pubblico/o app/assets/
Ho usato Rails 4 su un paio di progetti ora e ho utilizzato image_tag('/assets/image.png')
per aggirare le modifiche a come gli helper del percorso risorse funzionano in Rails 4. Questo è fino a oggi quando ho deciso di saperne di più sulle modifiche e trovato this first change note in sprockets-rails. Ho anche notato che lo ASSET_PUBLIC_DIRECTORIES
in /actionview/lib/action_view/helpers/asset_url_helper.rb#L170 negli helper di Rails punta solo alle cartelle pubbliche. È diventato abbastanza ovvio per me che se stai accedendo a file statici, Rails vuole che tu usi la cartella pubblica.
Quindi, ora che ho capito questo, non riesco proprio a capire perché i bordo rotaie docs indicano chiaramente questo:
Nelle precedenti versioni di Rails, tutte le attività erano situati nelle sottodirectory pubblico come immagini, javascript e fogli di stile. Con la pipeline degli asset, la posizione preferita per queste risorse è ora la directory app/assets.
image_path in pratica genera un uri per la cartella public/images che è totalmente contrario.
E per riassumere tutto in su ho bisogno di usare tutti i collaboratori disponibili e digerire i costruttori, perché io alla fine la distribuzione mio patrimonio a S3 con asset_sync.
Quindi la mia domanda è giusta; c'è un corretto posto dove mettere le immagini/le risorse non compilate e utilizzare gli helper di asset_path? Tutta la documentazione e ogni altra conversazione di overflow dello stack riguarda persone che utilizzano la cartella app/assets, ma i rocchetti di trascinamento vogliono che usiamo il pubblico per le risorse non digest. I documenti e le informazioni sul web hanno bisogno solo di un aggiornamento, o altri lo fanno solo con la preposizione di tutti i percorsi di asset con/assets /?
AGGIORNAMENTO: Penso di aver effettivamente avuto un problema in cui non stavo riavviando il mio server di sviluppo e le immagini in app/risorse/immagini non venivano mostrate in modo che sarebbe fallback al pubblico. Nota anche che stavo usando gli aiutanti di asset nel mio paperclip default_url (che è indicato come il modo di puntare ad asset in diverse risposte di overflow dello stack che ho trovato, tuttavia usare gli helper del percorso risorse con le opzioni interpolate in paperclip tornerà anche al pubblico, perché il nome risorsa uninterpolated non sarebbe stato trovato come un file esistente, ovviamente.
Per il beneficio di chiunque si sia imbattuto in questo tramite googling, le risorse sono descritte nelle guide delle guide all'indirizzo http://guides.rubyonrails.org/asset_pipeline.html –