2011-10-19 41 views
59

我分享一個配置文件陽明海運客戶端,我還需要在服務器端加載,我已經把它的應用程序/資產/ Java腳本/ configuration.yml內訪問資源路徑從Rails的控制器

我可以在視圖中使用#{asset_path'configuration.yml'}來獲取路徑,但是我不能在控制器內。我可以直接使用「#{Rails.root} /app/assets/javascripts/configuration.yml」進行訪問,但是當部署文件名時會附加摘要字符串。

如何從控制器獲取相同的路徑?

回答

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

不妨將configuration.yml放在不同的文件夾中以將javascript與非javascript文件分開。

+1

謝謝!我不需要使用'/ assets /'。我可以調用ActionController :: Base.helpers.asset_path(「configuration.yml」) 我也想過把yml文件放到另一個文件夾,試圖直接將它添加到app/assets文件夾,但我無法訪問它。無論如何感謝您的建議。 –

+1

@MarcelM。您需要將其他文件夾添加到application.rb中的搜索路徑。像這樣'config.assets.paths << Rails.root.join(「app」,「assets」,「yml」)' –

+0

這在Rails 4中已被棄用。 – Agis