【问题标题】:Is `require jquery_ujs` still needed in Rails 5.1?Rails 5.1 中是否还需要`require jquery_ujs`?
【发布时间】:2017-11-11 23:33:21
【问题描述】:

我正在通过jquery-rails gem 在我的5.1.x Rails 应用程序中安装jQuery。

在 gem 设置中,他们建议默认将这些行添加到 application.js

//= require jquery
//= require jquery_ujs

但是,在 Rails 5.1.x 应用程序中,您已经有了不再依赖 jQuery 的这条线:

//= require rails-ujs

我想两者都在做完全相同的事情,并且不需要一个。

我应该保留两者还是只喜欢jquery_ujs 还是只喜欢rails-ujs

【问题讨论】:

  • 只保留其中任何一个。

标签: jquery ruby-on-rails jquery-rails


【解决方案1】:

jquery-ujsRails 5.1 已成为过去,您不再需要它。

【讨论】:

  • 除非你还在使用 jQuery。 rails-ujs 不支持 jQuery - 它是专门为摆脱 jQuery 依赖而设计的。
【解决方案2】:

从 Rails 5.1 开始,UJS(不显眼的 javascript)不再需要 jQuery。因此,如果您的 Rails 应用程序中不需要 jQuery,则可以使用

//= require rails-ujs

另一方面,如果您确实在您的应用程序中使用 jQuery,并使用 jquery-rails gem,那么您应该需要 rails-ujs,但应该改为使用:

//= require jquery
//= require jquery_ujs

jquery_ujs 与 jQuery 一起使用可能会导致应用出现问题,并且您可能会看到以下 JS 控制台错误:

Uncaught Error: jquery-ujs has already been loaded!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 2013-10-24
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    相关资源
    最近更新 更多