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》》 进入old项目下
1)进入old目下,
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文件到old项目。
执行
rake rails:upgrade:gems
生成的内容复制到Gemfile下
4)进入old项目下,执行
rake rails:upgrade:routes
生成的内容复制到routes.rb中
5)复制app项目下的config.ru文件到old项目下
修改config.ru文件中的run **::Application的**(**是项目名称)改为现在的项目名称(Old,首字母大写)
6)复制app项目config下environment.rb文件到old项目下
修改environment.rb文件中的run **::Application.initialize!(**是项目名称)改为现在的项目名称(Old,首字母大写)
7) 删掉old项目的config/initializers下的new_rails_defaults.rb文件
8) 复制app项目config下的boot.rb文件到old项目下对应的位置
9) 复制app项目下的script目录中的rails文件复制到old项目下的script目录中
10) 修改old项目中config/environments目录下的三个文件(development.rb、test.rb、production.rb),这三个文件要这样修改
Old(项目名称)::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
分享到:
相关推荐
- **升级**:当需要更新到Rails的最新版本时,可以使用`bundle update rails`命令来更新依赖。 - **回滚**:如果更新后出现问题,可以通过`git`命令或者手动修改`Gemfile`来回滚到之前的版本。 #### 六、添加第二个...
1. Rails 3.0: Rails 3是重大升级,引入了ActionController::Metal,这是一个轻量级的控制器,用于提高性能。同时,它引入了多路由引擎支持,如Rack中间件,使得与其他Web服务器的集成更加容易。此外,ActiveRecord...
3. 克隆或下载Rails 4.2.0项目的源代码,或者创建一个新的Rails项目,使用`rails new my_app -d sqlite3`命令,其中`my_app`是你的应用名,`-d sqlite3`指定使用SQLite数据库。 4. 进入项目目录,运行`bundle ...
《Rails API 4.0.0:Ruby on Rails框架的API设计与开发指南》 Rails API 4.0.0是Ruby on Rails框架的一个版本,专门针对构建应用程序接口(APIs)进行了优化。Ruby on Rails是由David Heinemeier Hansson创建的开源...
综上所述,"rails-api-4.2.4"是一个专为API开发设计的Rails版本,具有高效的性能和良好的社区支持。开发者可以利用这个框架快速构建稳定可靠的API服务,并遵循最佳实践来提升API的质量和可维护性。同时,利用丰富的...
在这个特定的"rails-2.2.2.zip"安装包中,我们可以期待找到构建Rails应用所需的基础组件和库。以下是一些关于Rails 2.2.2的关键知识点: 1. **ActiveRecord**:这是Rails中的ORM(对象关系映射)层,允许开发者用...
Ruby语言的版本发展从1.8.6开始,而Rails框架从2005年的1.0版本逐步升级,至2007年底推出了2.0版本。为了开发RoR应用,开发者可以选择各种开发环境,如InstantRails智能安装包,或者单独安装Ruby、Rails和MySQL,还...
2. **ActiveRecord**:这是Rails的ORM(对象关系映射)组件,负责处理数据库交互。在2.3.3版中,ActiveRecord支持复杂的查询,如关联(associations)和回调(callbacks),以及ActiveRecord验证(validations)确保...
1. **社区准则:** 遵循社区驱动的编码风格指南,如 `ruby-style-guide` 和 `rails-style-guide`,可以帮助团队保持一致的代码风格,提高代码可读性和维护性。 - **Ruby风格指南:** 提供了关于Ruby编程的最佳实践...
2. **模块化**:Rails 3将核心框架进一步模块化,使得开发者可以根据项目需求选择性地加载特定组件。 3. **RESTful设计**:继续强调使用RESTful架构风格进行Web应用开发。 4. **安全性增强**:引入了一系列安全特性...
如果你无法通过网络升级或安装 Rails,可以采用本地安装包的方式。以下是对 Rails 2.3.2 Gem 本地安装包及其使用说明的详细解读。 1. **Rails 2.3.2 版本特性** - Rails 2.3.2 在 2009 年发布,引入了许多增强功能...
### Windows 下安装或升级 Rails 的常见问题与解决方法 在 Windows 平台上进行 Ruby on Rails 开发时,可能会遇到各种各样的安装问题。本文将详细解释一个常见的问题:“在 Windows 下安装或升级 Rails 时,gem ...
3. **创建新项目**:使用Rails命令行工具创建一个新的Rails项目。在终端中输入`rails new project_name -v=2.2.3`,其中project_name替换为你的项目名称。 4. **数据库配置**:Rails默认使用SQLite数据库,但你可以...
- **持续更新与部署:** 保持Rails版本的最新是必要的,可以通过RubyGems进行升级。对于部署到互联网服务提供商(ISP)的情况,需要考虑服务器环境的兼容性和安全性问题。 #### 四、快速上手 - **创建新应用:** 使用...
- **升级 Rails**:一旦安装完成,可以通过 `gem update rails` 命令来将 Rails 更新到最新版本。 - **验证安装**:同样地,可以通过 `rails -v` 命令来验证 Rails 是否安装成功。 #### 四、Rails 快速入门 **1. ...
- Rails核心团队持续对Rails 2进行维护和升级。新的发布可能会引入与之前版本不兼容的变化。 - 为了便于开发者实验这些变化,团队提供了Edge Rails,这是一个包含了最新开发代码的分支。 - 如果想要运行实验性的...
- **案例一**:一个小型电子商务网站从Rails 2升级到Rails 3的过程,包括遇到的主要挑战及解决方案。 - **案例二**:一款复杂的企业级应用升级经验分享,涉及技术栈迁移、性能瓶颈处理等方面。 - **案例三**:关于...
10. **Rails社区与工具**:熟悉Rails社区的资源,如Stack Overflow、GitHub上的开源项目,以及RailsGuides和Rails API文档,这些都能帮助开发者解决问题和提升技能。 "Advanced Rails"这本书是进一步提升Rails技能...
综上所述,从Rails 2到Rails 3的过渡不仅仅是版本号的简单递增,而是对整个框架的一次全面升级。Rails 3在脚本命令的调用、配置文件的结构以及路由定义的语法上都做了大量的优化,旨在提供更高效、更直观的开发体验...