路线文件中我唯一的一行是:
root :to => 'spikes#index'
在Javascript资源中,我有一个像这样的简单函数:
spike.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>
答案 0 :(得分:1)
您可能在<script>
(或者app/views/layouts/application.html.erb
,而不是.haml
)中有一个.erb
标记,其中包含了您的所有网页。如果你把它取出一秒钟,你可能会看到警报消失。
要理解的一些事情:1)您向我们展示的JavaScript代码仅仅是因为被包含(将其粘贴到浏览器中的控制台以查看我的意思)和2)在Rails中,正常的行为是你所有的JavaScript都要被包含在内,这可能不是你所期望的。