---主题:升级项目到 3.0.0.beta3
注意:rails需要至少ruby 1.8.7,如果ruby版本不够1.8.7,请升级为1.8.7或1.9.2。
1: 升级rubygems为1.3.7
sudo gem update --system
2:安装rails 3.0依赖的包
1》
sudo gem install tzinfo builder i18n memcache-client rack rake rack-test erubis mail text-format thor bundler
2》
sudo gem install rack-mount
3:安装rails 3.0
gem install rails --pre -v=3.0.0.beta3
4:升级项目
1》 安装官方的升级插件(如果没有安装git,先安装git)
1》》 进入项目下,script/plugin install git://github.com/rails/rails_upgrade.git
2》》 新建rails3的项目app(rails app)
3》》 进入ihaveu项目下
1)进入ihaveu项目下,rake rails:upgrade:backup
这个rake会备份一些要修改的文件,备份文件以rails2结尾.
2)复制app项目config/application.rb文件到项目的config下
执行rake rails:upgrade:configuration
将从module开始及其以后的内容都复制到application.rb中覆盖module 的内容,注意如果你在这里有config.gem 的配置,在新的config/application.rb文件中要删除掉,会报错的
3)复制app项目根目录下的Gemfile文件到ihaveu项目。
执行rake rails:upgrade:gems
生成的内容复制到Gemfile下
4)进入ihaveu项目下,执行rake rails:upgrade:routes
生成的内容复制到routes.rb中
5)复制app项目下的config.ru文件到ihaveu项目下
修改config.ru文件中的run **::Application的**(**是项目名称)改为现在的项目名称(Ihave,首字母大写)
6)复制app项目config下environment.rb文件到ihaveu项目下
修改environment.rb文件中的run **::Application.initialize!(**是项目名称)改为现在的项目名称(Ihave,首字母大写)
7) 删掉ihaveu项目的config/initializers下的new_rails_defaults.rb文件
8) 复制app项目config下的boot.rb文件到ihaveu项目下对应的位置
9) 复制app项目下的script目录中的rails文件复制到ihaveu项目下的script目录中
10) 修改ihaveu项目中config/environments目录下的三个文件(development.rb、test.rb、production.rb),这三个文件要这样修改
Ihaveu(项目名称)::Application.configure do
# 原来的代码
end
11) rails server 启动服务器
如果没有用插件(或者使用的插件已经支持Rails 3.0 beta了),估计就可以初步地启动服务器了,此时启动项目时,会提示问题,如果使用了gem包,很有可能会出现问题,此时需要依照各自的问题来解决。现在我查找ihaveu项目中的不用的或不支持rails 3的gem包。
12) 注释不兼容Rails 3.0 beta的gem包
进入ihaveu项目中,打开根目录Gemfile文件,注释掉以下gem:
# gem 'rails', '2.3.4'
# gem 'thoughtbot-paperclip', '~> 2.3.0', :require => 'paperclip'
# gem 'rspec-rails', :require => 'spec/rails'
# gem 'thinking-sphinx', :require => 'thinking_sphinx'
source 'http://gemcutter.org'
# gem 'ts-datetime-delta', '>= 1.0.0', :require => 'thinking_sphinx/deltas/datetime_delta'
以下是可以替换的包:
gem install rspec --prerelease
gem install rspec-rails --pre
gem install thinking-sphinx --pre
注意:其实nkallen-cache-money包也是不兼容Rails 3.0 beta,但是这个可以修改,修改后就可以用了,修改方法如下:
找到已安装好的nkallen-cache-money包
1》打开/lib/下的cache_money.rb,将require 'activesupport'、require 'activerecord'修改为require 'active_support'、require 'active_record'(因为rails3 中只有require 'active_support'、require 'active_record'没有require 'activesupport'、require 'activerecord')
2》打开/lib/cash下的mock.rb,将< HashWithIndifferentAccess删掉
13)修改内容
1》
把ihaveu项目中config下的environment.rb.rails2中
module Kernel
def is_sphinx_enabled?
false#RUBY_PLATFORM !~ /mingw|mswin|java/ && File.exist?(%x(which mmseg)[0..-2]) # && RAILS_ENV == "production"
end
end
复制到ihaveu项目中config/application.rb中的module 项目名称 上边。
2》
ihaveu项目/config/initializers/error_table.rb中注释以下行:
4、17、62、63、66、69、70、72、79、80、81、83、84、86、87、88、145、146、147、148、149、150、151、152、169、176
3》
ihaveu项目/config/initializers/new_rails_defaults.rb中注释第14行
4》
ihaveu项目/config/initializers/session_store.rb中注释第16、22行
5》
1》》ihaveu项目/config/routes.rb中修改以下内容:
match '/signup/:invitation_id/:invitation_code' => 'home/accounts#new', :as => :signup, :invitation_id => , :invitation_code =>
改为
match '/signup/:invitation_id/:invitation_code' => 'home/accounts#new', :as => :signup, :invitation_id => "", :invitation_code => ""
2》》
把所有的get_post :***,改为get :***和 post :***。
3》》
修改路由代码,为resources指定:controller选项
例如:
resources :friends do
......
end
改为
resources :friends, :controller => 'home/friends' do
......
end
14)升级项目完成,启动项目rails server
---主题:升级项目到2.3.8
1:安装rails 2.3.8(如果想删掉旧版本的gem,sudo gem cleanup)
sudo gem install rails -v=2.3.8
2:更改config/environment.rb代码中的RAILS_GEM_VERSION为2.3.8
3:启动项目运行。
4:没有不兼容的插件。
注意:rails需要至少ruby 1.8.7,如果ruby版本不够1.8.7,请升级为1.8.7或1.9.2。
1: 升级rubygems为1.3.7
sudo gem update --system
2:安装rails 3.0依赖的包
1》
sudo gem install tzinfo builder i18n memcache-client rack rake rack-test erubis mail text-format thor bundler
2》
sudo gem install rack-mount
3:安装rails 3.0
gem install rails --pre -v=3.0.0.beta3
4:升级项目
1》 安装官方的升级插件(如果没有安装git,先安装git)
1》》 进入项目下,script/plugin install git://github.com/rails/rails_upgrade.git
2》》 新建rails3的项目app(rails app)
3》》 进入ihaveu项目下
1)进入ihaveu项目下,rake rails:upgrade:backup
这个rake会备份一些要修改的文件,备份文件以rails2结尾.
2)复制app项目config/application.rb文件到项目的config下
执行rake rails:upgrade:configuration
将从module开始及其以后的内容都复制到application.rb中覆盖module 的内容,注意如果你在这里有config.gem 的配置,在新的config/application.rb文件中要删除掉,会报错的
3)复制app项目根目录下的Gemfile文件到ihaveu项目。
执行rake rails:upgrade:gems
生成的内容复制到Gemfile下
4)进入ihaveu项目下,执行rake rails:upgrade:routes
生成的内容复制到routes.rb中
5)复制app项目下的config.ru文件到ihaveu项目下
修改config.ru文件中的run **::Application的**(**是项目名称)改为现在的项目名称(Ihave,首字母大写)
6)复制app项目config下environment.rb文件到ihaveu项目下
修改environment.rb文件中的run **::Application.initialize!(**是项目名称)改为现在的项目名称(Ihave,首字母大写)
7) 删掉ihaveu项目的config/initializers下的new_rails_defaults.rb文件
8) 复制app项目config下的boot.rb文件到ihaveu项目下对应的位置
9) 复制app项目下的script目录中的rails文件复制到ihaveu项目下的script目录中
10) 修改ihaveu项目中config/environments目录下的三个文件(development.rb、test.rb、production.rb),这三个文件要这样修改
Ihaveu(项目名称)::Application.configure do
# 原来的代码
end
11) rails server 启动服务器
如果没有用插件(或者使用的插件已经支持Rails 3.0 beta了),估计就可以初步地启动服务器了,此时启动项目时,会提示问题,如果使用了gem包,很有可能会出现问题,此时需要依照各自的问题来解决。现在我查找ihaveu项目中的不用的或不支持rails 3的gem包。
12) 注释不兼容Rails 3.0 beta的gem包
进入ihaveu项目中,打开根目录Gemfile文件,注释掉以下gem:
# gem 'rails', '2.3.4'
# gem 'thoughtbot-paperclip', '~> 2.3.0', :require => 'paperclip'
# gem 'rspec-rails', :require => 'spec/rails'
# gem 'thinking-sphinx', :require => 'thinking_sphinx'
source 'http://gemcutter.org'
# gem 'ts-datetime-delta', '>= 1.0.0', :require => 'thinking_sphinx/deltas/datetime_delta'
以下是可以替换的包:
gem install rspec --prerelease
gem install rspec-rails --pre
gem install thinking-sphinx --pre
注意:其实nkallen-cache-money包也是不兼容Rails 3.0 beta,但是这个可以修改,修改后就可以用了,修改方法如下:
找到已安装好的nkallen-cache-money包
1》打开/lib/下的cache_money.rb,将require 'activesupport'、require 'activerecord'修改为require 'active_support'、require 'active_record'(因为rails3 中只有require 'active_support'、require 'active_record'没有require 'activesupport'、require 'activerecord')
2》打开/lib/cash下的mock.rb,将< HashWithIndifferentAccess删掉
13)修改内容
1》
把ihaveu项目中config下的environment.rb.rails2中
module Kernel
def is_sphinx_enabled?
false#RUBY_PLATFORM !~ /mingw|mswin|java/ && File.exist?(%x(which mmseg)[0..-2]) # && RAILS_ENV == "production"
end
end
复制到ihaveu项目中config/application.rb中的module 项目名称 上边。
2》
ihaveu项目/config/initializers/error_table.rb中注释以下行:
4、17、62、63、66、69、70、72、79、80、81、83、84、86、87、88、145、146、147、148、149、150、151、152、169、176
3》
ihaveu项目/config/initializers/new_rails_defaults.rb中注释第14行
4》
ihaveu项目/config/initializers/session_store.rb中注释第16、22行
5》
1》》ihaveu项目/config/routes.rb中修改以下内容:
match '/signup/:invitation_id/:invitation_code' => 'home/accounts#new', :as => :signup, :invitation_id => , :invitation_code =>
改为
match '/signup/:invitation_id/:invitation_code' => 'home/accounts#new', :as => :signup, :invitation_id => "", :invitation_code => ""
2》》
把所有的get_post :***,改为get :***和 post :***。
3》》
修改路由代码,为resources指定:controller选项
例如:
resources :friends do
......
end
改为
resources :friends, :controller => 'home/friends' do
......
end
14)升级项目完成,启动项目rails server
---主题:升级项目到2.3.8
1:安装rails 2.3.8(如果想删掉旧版本的gem,sudo gem cleanup)
sudo gem install rails -v=2.3.8
2:更改config/environment.rb代码中的RAILS_GEM_VERSION为2.3.8
3:启动项目运行。
4:没有不兼容的插件。
发表评论
-
rails console 记录命令历史
2020-03-20 10:53 2791: 打开文件: vim ~/.irbrc,添加如下内容: ... -
mysql dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
2019-12-16 16:43 362今天一连串的神操作导致连接mysql一直报错,dyld: Li ... -
ruby gsub和sub 的特殊使用
2019-04-04 19:53 957gsub和sub使用 常用的使 ... -
rails离线环境搭建相关命令
2018-12-17 09:35 3851:下载yum包: 环境搭建需要安装很多包,可以使用 yumd ... -
rails离线环境搭建相关命令
2018-12-17 09:35 4021:下载yum包: 环境搭建需要安装很多包,可以使用 yumd ... -
rails5 belongs_to 默认不能为空,报错must exist
2017-04-29 16:37 4491: 在config/application.rb设置 con ... -
随笔知识
2014-08-07 21:11 1792show-source: 查看方法在文件中的位置,show-s ... -
rails 中 group 按照一定的规则返回数据
2012-11-03 19:20 939has_many :user_resumes, class_n ... -
项目 经验
2012-10-10 15:53 01: user = User.first; user. ... -
数组使用will_paginate
2012-03-30 11:58 1409有的时候,在开发的过程中需要对模型数组进行分页,此时我们可以如 ... -
我的rails 编程规范
2012-01-16 15:19 8471: 属性中时间要已at结尾,例如created_at, ... -
html_safe
2012-01-12 13:56 1410html_safe: 可以保证(> < &am ... -
同时分页查找没有关联关系的多个表
2011-12-30 14:41 1250supplyinfos和seekinginfos两个表 需求: ... -
send_file ie下文件名乱码问题解决
2011-10-28 17:50 2431使用rails的send_file 实现下载功能时,type指 ... -
counter_cache的使用
2011-10-08 11:55 2699有点惭愧,做rails也2年了,竟然不会用co ... -
has_many 关联关系表单 提交
2011-04-18 17:16 1120class Author has_many :books ... -
belongs_to 多级关联关系
2011-04-12 14:18 1093有一种情况,是这样的c属于b,b属于a,但是我们有时候想建立c ... -
rails 根据异常显示特定的错误页面
2011-03-27 20:50 1154rescue_from 异常, :with => :a ... -
rails 笔记
2011-03-27 20:49 1701启动项目: ruby script/se ... -
rails 发送电子邮件(ActionMailer)
2011-03-27 20:49 36031: 复制以下配置邮件 ...
相关推荐
一个用Ruby on Rails搭建的图片分享的网站项目.完整源代码
rails 项目起步示例 同新手共同进步
rails文档 rails api 英文
这是关于rails 2.0 API文档,方便查询,是热爱rails人员的必备武器
详细说明ruby on rails的开发文档,类似于jdk开发文档。
Rails 2.0 API 文档. HTML 格式。免费下载
rails3的英文文档
本文介绍如何开始使用 Ruby on Rails。 读完本文,你将学到: 如何安装 Rails,新建 Rails 程序,如何连接数据库; Rails 程序的基本文件结构; MVC(模型,视图,控制器)和 REST 架构的基本原理; 如何快速生成 ...
rails 2.3 chm文档 官方最新版
rails指南 中文版
Redmine 搭建 Ruby_Ruby_on_Rails 项目管理系统
Rails框架API文档(网页格式英文文档)
rails 2.1的api文档,chm格式,官方最新版
自制 命令: rails doc cd doc rake rails:freeze:gems 或 rake rails:freeze:edge rake doc:rails 在rails_app/doc/doc/目录中就生成了一个API目录,即可
升级Rails的?这是一个很好的时间来重构你的代码
rails免费文档
基于Ruby语言的Ruby on Rails项目及其代码方案,随便拿走
该文档简要介绍了如何在rails中使用flex,并提供了flex on rails的相关资源地址
rails的经典学习项目,ruby on rails打包的程序 rails的经典学习项目,ruby on rails打包的程序 rails的经典学习项目,ruby on rails打包的程序