jquery没有在rails中工作

Est*_*Lin 8 javascript jquery ruby-on-rails

我已经阅读了许多关于在rails中使用jquery的页面,但似乎无法让它工作.

我有'jquery-rails'宝石,我安装了.我在application.js文件中有require语句.

这是我一直在运行的测试页面:

<!DOCTYPE html>
 <html>
 <head>
<title><%= yield(:title)%></title>
<%= javascript_include_tag 'application','jquery', 'data-turbolinks-track' => true  %>
<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
<script>$(document).ready(function(){
  $(".bg-info").click(function(){
    $(this).hide();
});
 });</script>
</head>
<body>
<center>
<h1 class="bg-info"><%= yield(:title)%></h1>
</center>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但是,当我点击浏览器中的"bg-info"文本时,我得不到任何回复.

Ric*_*eck 6

这是你应该拥有的:

#app/assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require_tree .

$(document).on("click", ".bg-info", function(e){
   $(this).hide();
});
Run Code Online (Sandbox Code Playgroud)

这是我为布局做的事情(测试):

#app/views/layouts/application.html.erb
<!DOCTYPE html>
 <html>
   <head>
       <title><%= yield(:title)%></title>
       <%= javascript_include_tag 'application','jquery', 'data-turbolinks-track' => true  %>
       <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
       <%= csrf_meta_tags %>
   </head>
   <body>
       <div class="bg-info"><%= yield(:title)%></div>
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果上述方法无法解决问题,那么您的开发环境(OS)可能会出现问题- 最有可能出现问题.ExecJS

为了证实这一点,你需要调试您的开发者控制台:

在此输入图像描述

要访问开发控制台,right-click > inspect element > console.

这表明您的JS和前端环境有任何错误.如果出现任何错误,他们可能会告诉您问题所在.

如果没有出现错误,您应该尝试在系统上安装NodeJS,因为这可以确保Rails可以使用适当的JS可执行文件.