2011-10-19 15 views
59

sto condividendo un lato client file di configurazione yml, che ho bisogno di caricare anche sul lato server, ho messo dentro app/beni/javascript/configuration.ymlAccesso Asset percorso da Rails controller

Posso usare # {asset_path 'configuration.yml'} in una vista per ottenere il percorso, ma non posso all'interno di un controller. Potrei accedere direttamente usando "# {Rails.root} /app/assets/javascripts/configuration.yml" ma quando si distribuisce il nome del file viene aggiunta la stringa digest.

Come posso ottenere lo stesso percorso da un controller?

risposta

98
ActionController::Base.helpers.asset_path("configuration.yml") 

potrebbe anche essere buona per mettere configuration.yml in una cartella diversa per separare javascript da file non javascript.

+1

Grazie! Non ho bisogno di usare '/ assets /'. Posso semplicemente chiamare ActionController :: Base.helpers.asset_path ("configuration.yml") Ho anche pensato di mettere il file yml su un'altra cartella, ho provato ad aggiungerlo direttamente alla cartella app/assets, ma non ho potuto accedere esso. Grazie comunque per il suggerimento. –

+1

@MarcelM. è necessario aggiungere un'altra cartella al percorso di ricerca in application.rb. Mi piace così 'config.assets.paths << Rails.root.join (" app "," assets "," yml ")' –

+0

Questo è obsoleto in Rails 4. – Agis

Problemi correlati