我已经阅读了许多关于在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>
但是,当我点击浏览器中的“bg-info”文本时,我得不到任何回复.
解决方法
这是你应该拥有的:
#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','data-turbolinks-track' => true %> <%= stylesheet_link_tag 'application','data-turbolinks-track' => true %> <%= csrf_Meta_tags %> </head> <body> <div class="bg-info"><%= yield(:title)%></div> </body> </html>
如果上述方法无效,您可能会遇到development environment(操作系统)问题 – 最有可能是ExecJS
.
要确认这一点,您需要调试developer’s console:
要访问开发控制台,请右键单击>检查元素>安慰.
这向您显示您的JS&你的前端环境.如果出现任何错误,他们可能会告诉您问题所在.
如果没有出现错误,你应该try installing NodeJS on your system,因为这可以确保Rails可以使用适当的JS可执行文件.