【问题标题】:Images in JQuery function are not displayed after deploying a rails app to Heroku将 Rails 应用程序部署到 Heroku 后,不显示 JQuery 函数中的图像
【发布时间】: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

谢谢!

【问题讨论】:

  • 我无法在代码中找到您使用这些资产的位置。您能具体说明一下吗?

标签: jquery ruby-on-rails heroku


【解决方案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" %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-25
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多