我在我的项目中使用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
的流程?
答案 0 :(得分:0)
我在一个埋藏的JS文件中引用了gon。出于某种原因,我没有得到关于gon未定义的错误,并且该错误正在默默地杀死其余的js解释。
另外,我使用了slickgrid。其中一个包含slickgrid的文件似乎以某种方式捕获了ajax回调的焦点