将 Rails 应用程序部署到 Heroku 后,不显示 JQuery 函数中的图像
Posted
技术标签:
【中文标题】将 Rails 应用程序部署到 Heroku 后,不显示 JQuery 函数中的图像【英文标题】:Images in JQuery function are not displayed after deploying a rails app to Heroku 【发布时间】:2016-03-03 00:41:37 【问题描述】:我正在使用 JQuery 函数在 Rails 应用程序中扩展和收缩 ul 列表。一切都在本地顺利进行。但是,部署到 heroku 后,图像无法显示。
$(function()
...
opener:
active: true,
close: '/assets/Remove2.png',
open: '/assets/Add2.png',
openerCss:
...
);
Github 仓库:https://github.com/ReemAlattas/AT2
Heroku 应用程序:http://at2.herokuapp.com/plans
谢谢!
【问题讨论】:
我无法在代码中找到您使用这些资产的位置。您能具体说明一下吗? 【参考方案1】:给您的 javascript 文件一个 .erb 结尾,然后您可以为此正确使用资产管道:
$(function()
...
opener:
active: true,
close: "<%= asset_path('Remove2.png') %>",
open: "<%= asset_path('Add2.png') %>",
openerCss:
...
);
现在,当您部署到 Heroku 时,您的图像将在预编译后获得正确的摘要文件名。
【讨论】:
非常感谢您的回复。这在本地有效,但在 Heroku 上仍然无效...我运行 rake assets:precompile 但仍然 :(【参考方案2】:只需查看 heroku 页面和 github 存储库即可。该图像正如@rlarcombe 指出的那样,但我看到了另一个问题,您在模板中调用了原始脚本标记:
<script src="/assets/jquery-sortable-lists.js"></script>
在进行预编译时这将是一个问题。您可以尝试用javascript_include_tag
替换所有本地脚本标签,看看是否有效:
<%= javascript_include_tag "jquery-sortable-lists" %>
【讨论】:
以上是关于将 Rails 应用程序部署到 Heroku 后,不显示 JQuery 函数中的图像的主要内容,如果未能解决你的问题,请参考以下文章