【问题标题】:jquery not working in railsjquery不能在rails中工作
【发布时间】:2016-01-27 13:55:48
【问题描述】:

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

我有'jquery-rails' gem,并且我已经安装了。 我在 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>

但是当我点击浏览器中的“bg-info”文本时,我没有得到任何响应。

【问题讨论】:

  • 这是一个延伸,但在您的assets/javascripts/application.js 中,您是否有以下行://= require jquery。或者bundle install
  • 您可以尝试以下方法:&lt;%= javascript_include_tag 'application', 'data-turbolinks-track' =&gt; true %&gt;。从该行中删除jquery,重新启动服务器,然后尝试运行
  • 尝试运行rake assets:clobber。也许有一些资产缓存问题
  • 在浏览器中打开开发者控制台并尝试执行 $(".bg-info").length(在 bg-info 所在的那个页面上)
  • 你能把你的application.js文件包括进来吗?

标签: javascript jquery ruby-on-rails


【解决方案1】:

这是您应该拥有的:

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

$(document).on("click", ".bg-info", function(e){
   $(this).hide();
});

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

#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>

如果上述方法不能解决问题,您可能会遇到development environment (OS) 的问题——很可能是ExecJS

要确认这一点,您需要调试您的developer's console

要访问开发控制台,right-click &gt; inspect element &gt; console

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

如果没有出现错误,您应该try installing NodeJS on your system,因为这样可以确保 Rails 可以使用适当的 JS 可执行文件。

【讨论】:

  • 开发者的控制台线索值得 +1
猜你喜欢
  • 1970-01-01
  • 2015-05-15
  • 2011-04-14
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
相关资源
最近更新 更多