Uncaught ReferenceError: $ is not defined rails

南笙酒味 提交于 2019-12-01 15:16:10
Vedprakash Singh

Replace application.html.erb

<%= javascript_include_tag "application" 'data-turbolinks-track' => true %>

to

<%= javascript_include_tag "application" %>

This was my solution:

Put this in your app/assets/javascripts/application.js

//= require jquery
//= require jquery_ujs

and install this gem file:

gem 'jquery-rails'

try switching these lines:

<%= javascript_include_tag "vendor/modernizr" %>
<%= javascript_include_tag "application" 'data-turbolinks-track' => true %>

will become

<%= javascript_include_tag "application" 'data-turbolinks-track' => true %>
<%= javascript_include_tag "vendor/modernizr" %>
Riru Isla

How do you have the foundation added to the project?

In app/assets/javascripts/aplication.js

I had the same error

$ is no defined

and I resolved by reloading the foundation js this way:

jQuery(document).ready(function($) {
$(document).foundation();
});

An solution working for me is:

Separate files

create assets/javascripts/jquery_init.js content :

//= require jquery
//= require jquery.turbolinks
//= require jquery.cookie
//= require jquery.ui.all
//= require jquery_ujs

an call before aplication.js

<%= javascript_include_tag "jquery_init" %>
<%= javascript_include_tag "application", :async => !Rails.env.development?, "turbolinks-data-track" => true %>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!