我用Rails 3.2的应用程序是准备部署。我想知道我应该将其升级到Rails 4与否。我也不能肯定该宝石可能给问题与同时升级。
下面是我的几个常见的宝石的Gemfile。
Jmvl.rb
source 'https://rubygems.org'
gem 'rails', '3.2.8'
gem 'pg', '0.12.2'
gem 'bcrypt-ruby', '3.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'
gem 'simple_form', '2.0'
gem 'rails3-jquery-autocomplete', '1.0.10'
gem 'show_for', '0.1'
gem 'paperclip', '3.3.1'
gem 'cocoon', '1.1.1'
gem 'google_visualr', '2.1.0'
gem 'axlsx', '1.3.4'
gem 'acts_as_xlsx', '1.0.6'
gem 'devise' ,'2.1.2'
gem 'cancan', '1.6.8'
gem 'bootstrap-datepicker-rails', "0.6.32"
gem 'country_select', '1.1.3'
gem 'jquery-rails', '2.1.4'
gem 'annotate', '2.5.0', group: :development
gem 'ransack', '0.7.2'
gem "audited-activerecord", "3.0.0"
gem 'prawn', '1.0.0.rc2'
gem 'exception_notification', '3.0.1'
gem 'daemons', '1.1.9'
gem 'delayed_job_active_record', '0.4.3'
gem "delayed_job_web", '1.1.2'
gem "less-rails"
gem "therubyracer"
gem 'twitter-bootstrap-rails', '~>2.1.9'
gem "spreadsheet", "~> 0.8.8"
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '3.2.5'
gem 'coffee-rails', '3.2.2'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '1.2.3'
end
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
# Use unicorn as the app server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'debugger'
group :development, :test do
gem 'rspec-rails', '2.11.0'
end
group :test do
gem 'capybara', '1.1.2'
gem 'factory_girl_rails', '4.1.0'
gem 'faker', '1.0.1'
end
我在读http://ruby.railstutorial.org/这个伟大的书后,开始对这个应用程序的工作,去年(2012年11月)。我还检查出什么在Rails的4强一样新的参数,这一切都非常吸引人去尝试升级。
但我担心这些宝石,它可能需要努力的兼容性。
我需要在社区或别人谁曾试图升级之前,我往前走有经验的人一些建议。
我上传你的Gemfile到Ready for Rails 4,看来你只能有一对夫妇的宝石是没有准备好,一个宝石是未知。对于一些没有记录,我建议检查出自己的GitHub页面(如果他们有一个),看看创业板已经上了RubyGems最近更新上市的宝石,只是为了确认宝石是否有效。
这个简短的教程是值得我们在最近的3.2至4迁移的每一分钱。
https://leanpub.com/upgradetorails4
https://github.com/alindeman/upgradingtorails4
它列出了详细说明了如何有什么变化,以及如何通过升级来管理当前的Rails应用程序处理的宝石升级,以及个别细节(有明显的例子)。
为了满足您的特定宝石的担忧:也许除了5几乎所有的40+的宝石,有活动或者轨道4个版本(或为Rails 4 Github的分支机构),或保持不变的时候工作就好使用Rails 4。
拥有一个健康的单元/功能测试套件在你的代码将是您信心的提升是至关重要的成功。
资产管道已经改变了一点,所以你需要升级这些宝石。我不得不使用洗劫的叉active_admin的背景下,但你可能会被罚款。
我建议你创建一个分支,磕碰到Rails 4,看看会发生什么。我花了两天时间来升级从3.2到4几个星期前,在一个相当小的(但产量与 - 客户)的应用程序。该upgrade guide是非常稳固。