0

我在路由文件中唯一的一行是:

root :to => 'spikes#index'

在 Javascript 资产中,我有一个简单的函数,如下所示:

穗.js 文件:

$(function(){

    alert("WAT");
    document.write("abc");

});

在 Views->spikes->index.html.haml 文件中我什么都没有!它是空的。我曾经有以下代码,但我删除了它:

  = javascript_include_tag 'spike'

但是当我运行我的 Rails 应用程序时,我仍然在浏览器上看到一个警告和“abc”。

它从哪里调用它?到底怎么回事!?!

更新:这也是我的application.html.erb 文件:

<!DOCTYPE html>
<html>
<head>
  <title>D3Spike</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>
4

1 回答 1

1

您可能有一个<script>标签app/views/layouts/application.html.erb(或者可能.haml,不是.erb),它包装了您的所有页面。如果您将其取出一秒钟,您可能会看到警报消失。

需要理解的几件事:1)您向我们展示的 JavaScript 代码仅通过被包含来运行(将其粘贴到浏览器的控制台中以了解我的意思)和 2)在 Rails 中,正常行为适用于您的所有 JavaScript一直被包括在内,这可能不是您所期望的。

于 2013-04-10T19:38:43.753 回答