jquery-rails和rails-assets-jquery有什么区别?

时间:2014-11-23 11:58:15

标签: ruby-on-rails ruby

通常我使用jquery-rails gem将jQuery嵌入到我的rails项目中。现在我开始使用rails-assets了,有些宝石依赖于rails-assets-jqueryjquery也提供jquery-rails

我的问题是,我可以删除jquery-rails吗? source 'https://rubygems.org' source 'https://rails-assets.org' gem 'rails', '4.1.5' #gem 'jquery-rails', '~> 3.1.2' # jQuery gem 'rails-assets-jquery' gem 'rails-assets-slick-carousel' 或其他原因是否有特殊之处可以将其保留在我的项目中?

我的宝石文件(缩短版)如下所示:

{{1}}

1 个答案:

答案 0 :(得分:1)

不同的是,rails-assets-WHATEVER是来自Bower.io的包,而另一个来自RubyGems。因此,在理想世界中,rails-assets-jqueryjquery-rails之间没有区别。因此,您必须假设作者正在同时向两个存储库推送新版本:Bower和RubyGems。但是,在现实世界中,存在不同的包维护者,并且版本的编号并不总是匹配。 Rails Assets project尝试将包装系统(Ruby和JavaScript项目)统一到一个文件(Gemfile)中。

无论如何,推荐的用法是:

source 'https://rubygems.org'
gem 'rails', '4.1.5'
#gem 'jquery-rails', '~> 3.1.2' # jQuery

source 'https://rails-assets.org' do 
  gem 'rails-assets-jquery'
  gem 'rails-assets-slick-carousel'
end

只是为了明确表示您未从RubyGems下载rails-assets-jquery,实际上有人可能已将此类程序包上传到RubyGems