Rails 3.2中JQuery的问题
我只是想让Jquery与我的rails应用程序一起工作 我想在新的.html.erb文件中放置一些JQuery,但在chrome的控制台中出现以下错误:Rails 3.2中JQuery的问题,jquery,ruby-on-rails,ruby-on-rails-3.2,Jquery,Ruby On Rails,Ruby On Rails 3.2,我只是想让Jquery与我的rails应用程序一起工作 我想在新的.html.erb文件中放置一些JQuery,但在chrome的控制台中出现以下错误: Uncaught SyntaxError: Unexpected token ( 这是我的新的.html.erb: <% provide(:title, "New Stat") %> <% provide(:heading, "Welcome, #{ current_user.email }!") %> <
Uncaught SyntaxError: Unexpected token (
这是我的新的.html.erb:
<% provide(:title, "New Stat") %>
<% provide(:heading, "Welcome, #{ current_user.email }!") %>
<div id="stats-page-container">
<div id="stat-form" >
<div id="stat-form-inner">
<% render 'layouts/init_stats_form' %>
<% render 'layouts/stat_input_form' %>
<script>
$.('#stat-form-inner').addClass('test-class');
</script>
</div>
</div>
<%= render 'layouts/progress' %>
</div>
这是我的application.html.erb文件:
<html>
<head>
<title><%= full_title(yield(:title)) %></title>
<h1> <%= yield(:heading) %> </h1>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= csrf_meta_tags %>
</head>
<body>
<% flash.each do |key, value| %>
<%= content_tag(:div, value, class: "alert alert-#{key}")%>
<% end %>
<%= render 'layouts/header' %>
<% if user_signed_in? %>
<%= render 'layouts/subheader' %>
<% end %>
<%= yield %>
<%= debug(params) if Rails.env.development? %>
<%= javascript_include_tag 'application' %>
</body>
</html>
我还加了一句
<%= javascript_include_tag 'application' %>
在结束主体标记的正上方
我还缺什么
谢谢 您正在结束body标记上方添加javascript\u include\u标记。这意味着您的脚本是在页面加载jquery之前执行的。将javascript包含标记调用移动到head标记,它应该可以工作。您正在将javascript包含标记添加到结束body标记上方。这意味着您的脚本是在页面加载jquery之前执行的。将javascript_include_标记调用移动到head标记,它应该可以工作。将脚本放入文件夹
app/assets/javascript
,确保使用$(“…)
,而不是$()
欢迎来到Rails 将脚本放入文件夹
app/assets/javascript
,确保使用$(“..”)
,而不是$()
欢迎来到Rails
$(文档).ready(函数(){
$('#stat form inner').addClass('test-class');
});
$(文档).ready(函数(){
$('#stat form inner').addClass('test-class');
});
希望这有帮助我认为$之后不需要“.”运算符。只需删除它并选中它,就会得到以下结果:uncaughtreferenceerror:$未定义新的:63(匿名函数)。我认为$之后不需要“.”运算符。只需删除它并选中它,就会得到以下信息:Uncaught ReferenceError:$未定义新的:63(匿名函数)我将此脚本直接添加到new.html.erb页面,以便以后可以使用AJAX。我将此脚本直接添加到new.html.erb页面,以便以后可以使用AJAX。这没有帮助。你能提供模板和布局的要点吗?还有任何错误。好的。我添加了更多文件包含的内容。这是我的应用程序目前唯一的错误。这没有帮助。你能提供模板和布局的要点吗?还有任何错误。好的。我添加了更多文件包含的内容。这是我的应用程序现在唯一的错误。是的,它做到了。我现在觉得自己很笨,哈哈!我将脚本放在元素中,而不是放在模板的末尾。。。这就是当你用太少的咖啡因或睡眠编写代码时会发生的情况:D谢谢你的帮助!是的,就是这样。我现在觉得自己很笨,哈哈!我将脚本放在元素中,而不是放在模板的末尾。。。这就是当你用太少的咖啡因或睡眠编写代码时会发生的情况:D谢谢你的帮助!
// = require jquery
// = require jquery_ujs
// = require_tree .
<%= javascript_include_tag 'application' %>
<script type="text/javascript">
$(document).ready(function() {
$('#stat-form-inner').addClass('test-class');
});
</script>