2011-10-19 9 views
59

dzielę się po stronie klienta plik konfiguracyjny yml, że muszę również załadować po stronie serwera, mam umieścić go wewnątrz app/assets/JavaSkrypty/configuration.ymlSzyny Controller

Mogę użyć # # asset_path 'configuration.yml'} wewnątrz widoku, aby uzyskać ścieżkę, ale nie mogę wewnątrz kontrolera. Mógłbym uzyskać dostęp bezpośrednio za pomocą "# {Rails.root} /app/assets/javascripts/configuration.yml", ale po wdrożeniu nazwy pliku zostaje dodany łańcuch digest.

Jak uzyskać tę samą ścieżkę ze sterownika?

Odpowiedz

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

Może być również dobrze ustawić plik configuration.yml w innym folderze, aby oddzielić javascript od plików innych niż javascript.

+1

Dziękujemy! Nie musiałem używać '/ assets /'. Mogę po prostu wywołać ActionController :: Base.helpers.asset_path ("configuration.yml") Myślałem również o umieszczeniu pliku yml w innym folderze, próbowałem dodać go bezpośrednio do folderu app/assets, ale nie mogłem uzyskać dostępu to. Dzięki za sugestię. –

+1

@MarcelM. musisz dodać inny folder do ścieżki wyszukiwania w aplikacji.rb. Podobnie jak w przypadku 'config.assets.paths << Rails.root.join (" app "," assets "," yml ")' –

+0

To jest przestarzałe w Rails 4. – Agis