【问题标题】:Rails 4 and gon - not working? window.gon={};Rails 4 和 gon - 不工作?窗口.gon={};
【发布时间】:2014-12-31 06:09:21
【问题描述】:

我正在尝试将 gon 与 rails 4 一起使用,但它似乎根本不起作用。

在 application.html.erb 我有

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

我尝试过使用和不使用 init 语句,也尝试过放置在我的控制器视图中

在我的控制器中

    gon.item_status = "delivered"
    respond_to do |format|
      format.json { render json: item, location: item }
    end 

在我的咖啡脚本中

$ ->
  $("a[data-remote]").on "ajax:success", (e, data, status, xhr) ->
    console.log(item_status)

在控制台中我看到未定义,在窗口源中我看到以下内容:

//<![CDATA[
window.gon={};
//]]>

所以我可以看到 gon 已经加载并试图获取一个变量,但没有任何东西传递给它。我的控制器代码有问题还是 rails 4 有更广泛的问题?

【问题讨论】:

    标签: javascript ruby-on-rails ruby-on-rails-4 coffeescript


    【解决方案1】:

    您需要使用 gon 对象在 JS 中访问 gon 变量 - 例如 gon.item_status

    对于 AJAX 请求,您需要使用 gon.watch 来“监视” gon 数组,它不会自动使用 AJAX 请求更新 head 标签中的 JS。

    查看 gem 主页:

    https://github.com/gazay/gon

    【讨论】:

    • 我可以确认 gon 在 rails 4 上工作得很好,我自己使用它。
    猜你喜欢
    • 2017-09-26
    • 2019-06-10
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    相关资源
    最近更新 更多