gpt4 book ai didi

javascript - rails : gon is not defined error

转载 作者:行者123 更新时间:2023-11-30 07:15:09 26 4
gpt4 key购买 nike

我被设置为在我的 Heroku Rails 4 应用程序中使用 Gon。 Gon 在暂存 Heroku 应用程序中大约 90% 的时间工作,但在生产 Heroku 应用程序中 100% 的时间失败。在我的控制台中,我收到错误,因为很多人都有:

//javascript console
Uncaught ReferenceError: gon is not defined

有很多建议可以克服这个问题,我已经勉强提出了一个非常不完美的解决方案(#8)。我试过:

  1. 将 <%= include_gon %> 放在 application.html.erb 正文中。

  2. 将 <%= include_gon %> 放在 application.html.erb 头部。

  3. 将 <%= include_gon %> 放在需要它的各个 View 中,而不是放在 application.html.erb 中

  4. 将 <%= include_gon %> 放在需要它的各个 View 中,同时将其包含在 application.html.erb 中

  5. 是否将 <%= include_gon %> 替换为巧妙的 <%= include_gon if defined? gon && gon.present? %>

  6. 从我的 gemfile 中删除 turbolinks 和 jquery-turbolinks,它们无法推送到 Heroku。它们已被替换。

  7. 在 javascript 中包装所有与 gon 相关的变量定义:if (gon == defined) { var blah = gon.blah } else { var blah = bleh }

  8. 在 application.html.erb 中包含 <%= Gon::Base.render_data({}) %>,并将 javascript 文件的全部内容移动到各自的 View 文件中。不显眼的 javascript 就这么多了。但是这个解决了这个问题。

我不知道如何正确地做到这一点。

如何让“gon”在我的应用中发挥作用?另外,如果有人知道,当它们在代码和 Rails 环境中相同时,为什么它适用于一个 Heroku 应用程序而不适用于另一个应用程序?

更新我从来没有解决过这个问题。我删除了 Gon 并根据需要用 Ajax 替换了变量。

最佳答案

我发现将此添加到您的标题中很有帮助。

<%= include_gon(:init => true) %>

也适用于 Rails 4。

关于javascript - rails : gon is not defined error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24541445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com