javascript - Uncaught ReferenceError : $ is not defined in Rails 5. 2

标签 javascript jquery ruby-on-rails coffeescript ruby-on-rails-5.2

我正在构建一个 Rails 应用程序,我希望在用户单击索引表的行时将用户重定向到 #show 操作。

为此,我尝试在我的 coffeescript 文件中使用 Jquery。这是相关代码

index.html.erb:

<% @campaign.each do |campaign| %>
    <tr data-link="<%= campaign_path(campaign) %>">
        <td><%= campaign.campaign_name %></td>
        <td><%= campaign.start_date %></td>
        <td><%= campaign.created_at %></td>
        <td><%= link_to "delete", campaign, class:"btn btn-default btn-xs", method: :delete, data: { confirm: "You sure?" } %></td>
     </tr>
<% end %>

campaigns.coffee:

$ ->
  $("tr[data-link]").click ->
    window.location.replace($(this).data("link"));

但是一旦我运行它,我就会在浏览器控制台中看到这个错误:

Uncaught ReferenceError: $ is not defined

我已经安装了 jquery-rails gem。也将其包含在我的 application.js 文件中。呈现我的应用程序时,我还在 header 中看到了 Jquery 脚本标记

<script src="/assets/jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1"></script>

但我仍然在控制台中看到这个错误

Uncaught ReferenceError: $ is not defined
at campaigns.self-4617c47e06384e281aa2550caae08f3b4986441d2bfff9b6e3519f0a1e82f3d7.js?body=1:2
at campaigns.self-4617c47e06384e281aa2550caae08f3b4986441d2bfff9b6e3519f0a1e82f3d7.js?body=1:8
(anonymous) @ campaigns.self-4617c47e06384e281aa2550caae08f3b4986441d2bfff9b6e3519f0a1e82f3d7.js?body=1:2
(anonymous) @ campaigns.self-4617c47e06384e281aa2550caae08f3b4986441d2bfff9b6e3519f0a1e82f3d7.js?body=1:8

我错过了什么吗?感谢您的帮助。

最佳答案

我想我遇到了同样的问题,我意识到我一定是误解了 official guide :

我认为在 Rails 5.2 中(在 Rails 5.1 之后),因为我们有内置的 rails-ujs,我们不再需要 jquery/jquery_ujs。

但我错了

我通过这个了解了我的错误 article .在我发现“Uncaught ReferenceError: $ is not defined”问题后,我怀疑的只是“没有安装jquery”。在检查了很多帖子之后,我尝试安装 jquery-rails进行测试。

终于成功了。

是的,即使在 Rails 5.2 中我们也需要 jquery-rails。

关于javascript - Uncaught ReferenceError : $ is not defined in Rails 5. 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50392630/

相关文章:

javascript - 在node.JS中使用数组进行多个SQL WHERE查询

javascript - 使用 JQuery 追加和幻灯片

javascript - 我需要帮助在 javascript 中切换文本

ruby-on-rails - 我应该写这些测试用例吗?

javascript - 保持 jQuery 最新的实用方法?

javascript - 为什么 Math.pow 比缓存的 Math.pow 更快 (var pow = Math.pow)

javascript - 是否有任何方法可以完成与 jquery 中的 .load() 方法相同的作用,以使用 vanilla Javascript 获取 html 页面的一部分

javascript - ie中的jquery标题选择器错误

ruby-on-rails - 使用 AJAX 解析对 SetExpressCheckout 数字商品的响应(集成 PayPal 数字商品以进行快速结账)?

ruby-on-rails - 如何使用具有多字段的 ruby​​cas-server 对用户进行身份验证?