【问题标题】:Correct path from js to assets/images path in rails app从js到rails应用程序中资产/图像路径的正确路径
【发布时间】:2015-06-24 18:22:36
【问题描述】:

如何在js.erb 文件中正确写入“assets/images/”的路径?我在做:

icon: createImage('assets/'+img),

有趣的是,这在 localhost 中有效,但在 heroku 中无效。 在stackoveflow中搜索后,我试试这个:

icon: createImage('<%= asset_path(img) %>'),

我想这个应该可以帮助我。但我无法将 img 传递给 asset_path

注意:我是在assets/javascript/map/gmap.js.erb做的

编辑:我在 rails 指南中发现 app/assets 中的文件从未直接在生产中提供。所以现在我知道为什么它不能在生产中工作了。 http://guides.rubyonrails.org/asset_pipeline.html

【问题讨论】:

    标签: javascript ruby-on-rails heroku


    【解决方案1】:

    你可以试试:

    icon: createImage('<%= image_tag(img) %>')
    

    特别是如果您正在运行 Rails 3.1+ 并使用资产管道,您希望使用 Rails 帮助程序来指定文件,而不是硬编码的文件路径。这应该在/assets 中查找img 文件,如here 所述。

    【讨论】:

    • 如何将img传递给image_tag,我不能只传递给erb,因为它是在js中声明的。
    • 对不起,我不明白。无法直接执行此操作 - 首先评估服务器端代码 (.erb),然后是 Javascript (.js)。您可能需要在帖子中更多地解释您的用例。可能有更好的整体方法。如果您愿意,我可以删除此答案,以便再次显示没有答案。
    • 好的,我明白了。我解决这个问题的方法只是将我的图像路径硬编码到asset_path中。谢谢,我只有 5 个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    相关资源
    最近更新 更多