Rails 升级 4.0.1 到 4.1.0.beta1 的个别细节

as181920 · 2014年02月14日 · 2665 次阅读

原由是想使用 4.1 的 enum 的功能,于是升级。主要参照官网升级说明,还有个别细节:

1,Gemfile,rails 版本改成了 4.1.0.beta1,加了 gem:spring,spring-commands-rspec

2,ransack 默认版本在 4.1 下有问题,需要改成 gem: gem "ransack", github: "activerecord-hackery/ransack", branch: "rails-4.1" gem "polyamorous", github: "activerecord-hackery/polyamorous"

3,model 中 has_many through source 的 source 原来跟 string 可以,现在要改成 symbole 才行

  • has_many :notes, through: :ownerships, source: 'item', source_type: 'Note'
  • has_many :notes, through: :ownerships, source: :item, source_type: 'Note'

4,config/application.rb 里面由于不是 require "rails/all"(测试库用 rspec 了),所以要加 # Pick the frameworks you want: +require "active_model/railtie" require "active_record/railtie" require "action_controller/railtie" require "action_mailer/railtie" +require "action_view/railtie" require "sprockets/railtie" # require "rails/test_unit/railtie"

5,guard 配置中让 rspec 用上 spring -guard :rspec do +guard :rspec, cmd:"spring rspec" do

6,i18n 遇到问题的考虑 Gemfile 设置(临时解决 i18n 本身 bug) gem 'i18n', github: 'svenfuchs/i18n' gem 'rails', '4.1.0.beta1'

另:上次升级用 ruby2.1 遇到基础库 pg 的莫名报错,这次 rvm reinstall 后还没有遇到问题。

附官方文档: http://edgeguides.rubyonrails.org/4_1_release_notes.html http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号