【问题标题】:Access Asset Path from Rails Controller从 Rails 控制器访问资产路径
【发布时间】:2011-12-11 05:48:26
【问题描述】:

我正在共享一个配置 yml 文件客户端,我还需要在服务器端加载它,我已将它放在 app/assets/javascripts/configuration.yml 中

我可以在视图中使用 #{asset_path 'configuration.yml'} 来获取路径,但不能在控制器中使用。我可以使用“#{Rails.root}/app/assets/javascripts/configuration.yml”直接访问,但是在部署文件名时会附加摘要字符串。

如何从控制器获得相同的路径?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.1 sprockets


    【解决方案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 — 可能包括新的推荐解决方案。
    猜你喜欢
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多