从 Rails 控制器访问资产路径
Posted
技术标签:
【中文标题】从 Rails 控制器访问资产路径【英文标题】:Access Asset Path from Rails Controller 【发布时间】:2011-12-11 05:48:26 【问题描述】:我正在共享一个配置 yml 文件客户端,我还需要在服务器端加载它,我已将它放在 app/assets/javascripts/configuration.yml 中
我可以在视图中使用 #asset_path 'configuration.yml' 来获取路径,但不能在控制器中使用。我可以使用“#Rails.root/app/assets/javascripts/configuration.yml”直接访问,但是在部署文件名时会附加摘要字符串。
如何从控制器获得相同的路径?
【问题讨论】:
【参考方案1】:ActionController::Base.helpers.asset_path("configuration.yml")
将 configuration.yml 放在不同的文件夹中以将 javascript 与非 javascript 文件分开也可能会很好。
【讨论】:
谢谢!我不需要使用/assets/
。我可以调用 ActionController::Base.helpers.asset_path("configuration.yml") 我还考虑将 yml 文件放在另一个文件夹中,尝试将其直接添加到 app/assets 文件夹中,但我无法访问它。无论如何感谢您的建议。
@MarcelM。您需要将其他文件夹添加到 application.rb 中的搜索路径。像这样config.assets.paths << Rails.root.join("app", "assets", "yml")
这在 Rails 4 中已被弃用。
@Agis — 可能包括新的推荐解决方案。以上是关于从 Rails 控制器访问资产路径的主要内容,如果未能解决你的问题,请参考以下文章
从 Rails 应用程序的数据库中提取 CSS 资产(如背景图像)?