【问题标题】:Duplicate jQuery library when using Rails Assets使用 Rails 资产时重复的 jQuery 库
【发布时间】:2015-03-26 08:55:48
【问题描述】:

我喜欢使用 Rails Assets 在我的 Rails 应用程序中包含凉亭、节点包:

source 'https://rails-assets.org' do
  gem 'rails-assets-colorbox'
end

# ...

gem 'jquery-rails'

现在,当我运行 bundle install 时,我得到了以下输出:

...
使用 pg 0.18.1
安装 rails-assets-jquery 2.1.3
安装 rails-assets-colorbox 1.6.0
使用 ruby​​-graphviz 1.0.9
...

现在我已经在使用 jquery-rails 插件,它显然是 jquery 的一个包装器,但我相信它也可以做更高级的 rails 相关的东西。

所以现在我的 Rails 应用程序中似乎有两个版本的 jquery,这并不理想。

我现在的问题是我是否可以摆脱 jquery-rails 并在我的 Gemfile 中包含 rails-assets-jquery

【问题讨论】:

    标签: jquery ruby-on-rails ruby ruby-on-rails-4 asset-pipeline


    【解决方案1】:

    如果您不使用jquery-ujs,则可能根本不使用gem jquery-rails

    jquery-ujs 将事件处理程序连接到符合条件的 DOM 元素以提供 增强的功能。在大多数情况下,符合条件的 DOM 元素是 由 HTML5 数据属性标识。

    例如,如果您有一个 HTML 表单,并且如果您想以 Ajax 方式(而不是页面加载)提交您的 HTML 表单,则必须在您的 form_for 中添加 :remote=>true 属性。您的控制器现在可以响应 ajax 请求,这可能是 HTML 嵌入。这将帮助您改善用户体验,同时仍然保持客户端 js 轻量级。

    jquery-ujs 会触发您可以处理的事件,例如 ajax:success ajax:error

    如果您是 Rails 新手,请尝试进行此演练。

    1. https://robots.thoughtbot.com/a-tour-of-rails-jquery-ujs
    2. http://www.alfajango.com/blog/rails-3-remote-links-and-forms/

    如果您只想使用 jQuery 而不是 jquery-ujs,您可能还更喜欢使用 CDN 包含 jQuery。效率更高。

    【讨论】:

    • 你能解释一下为什么 jquery-ujs 会有所作为吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2022-01-22
    • 2011-09-02
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    相关资源
    最近更新 更多