当我删除gon时,Rails 3远程停止工作

时间:2012-03-26 19:37:14

标签: ruby-on-rails

我在我的项目中使用gon,但我决定不再需要它了。

使用gon,application.html.erb看起来像这样:

<!DOCTYPE html>
<html>
<head>
  <title><%= full_title(yield :title) %></title>
  <%= include_gon %>
  <%= render 'layouts/stylesheets' %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tag %>

  <!-- Begin Analytics -->
  <script type="text/javascript">

    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-29558757-1']);
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();

  </script>
 <!-- End Analytics -->

  <!-- Begin favicon.ico -->
  <%= favicon_link_tag %>
  <!-- End facicon.ico -->

</head>
<body>
  <% unless @home  %>
    <%= render 'layouts/header' %>
  <% end %>

  <div id="content">
    <p style="color: black"><%= notice %></p>
    <p style="color: red"><%= alert %></p>
  <%= yield %>
  </div>
  <div style="color: black"><%= debug(params) if Rails.env.development? %> </div>
</body>
</html>

没有gon,application.html.erb看起来像这样:

<!DOCTYPE html>
<html>
<head>
  <title><%= full_title(yield :title) %></title>
  <%= render 'layouts/stylesheets' %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tag %>

  <!-- Begin Analytics -->
  <script type="text/javascript">

    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-29558757-1']);
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();

  </script>
 <!-- End Analytics -->

  <!-- Begin favicon.ico -->
  <%= favicon_link_tag %>
  <!-- End facicon.ico -->

</head>
<body>
  <% unless @home  %>
    <%= render 'layouts/header' %>
  <% end %>

  <div id="content">
    <p style="color: black"><%= notice %></p>
    <p style="color: red"><%= alert %></p>
  <%= yield %>
  </div>
  <div style="color: black"><%= debug(params) if Rails.env.development? %> </div>
</body>
</html>

我所做的就是删除<%= include_gon %>行。但是,当我这样做时,我的远程表单都不再起作用了。回调只是不被调用。如果我重新放入<%= include_gon %>行,则回调会再次起作用。

是否有从项目中删除gon的流程?

1 个答案:

答案 0 :(得分:0)

我在一个埋藏的JS文件中引用了gon。出于某种原因,我没有得到关于gon未定义的错误,并且该错误正在默默地杀死其余的js解释。

另外,我使用了slickgrid。其中一个包含slickgrid的文件似乎以某种方式捕获了ajax回调的焦点