需要帮助来升级我的rails版本
我是Ruby on Rails的新手。 我需要将我的rails版本从1.2.3升级到2.3.5。我正在使用mysql数据库在windows环境中工作。请你帮我完成升级rails版本所涉及的步骤。
谢谢
正如您所说,要升级当前应用程序的rails版本,您必须遵循以下几个步骤:
在此之前,请检查以下设置:
- 检查environment.rb设置
- 将.rhtml文件迁移到html.erb
- 检查可能需要进行的任何routes.rb更改,因为ROR 2.3.4已经简化了指定路由
-
确保你有一个好的SCM系统例如:git,svn,(或)甚至cvs。 这样就可以捕获小的增量变化。
-
应该检查插件的兼容性
-
更新任何form_tag条目,例如
<%= form_tag :action=> "search" %> becomes <% form_tag :action=>"search" do %>
-
就像明智地将<%= end_form_tag%>更改为<%end%>一样。
完成上述设置后,请按照以下说明操作:
-
首先,我们必须通过以下命令升级rails
$ sudo gem install rails
-
由于rails:freeze:1.2.3中的gems与RubyGems 1.3.1(GemRunner问题)不兼容,并且由于它不了解activeresource,我们将使用新的Rails 2.3.4来检查源:
$ cd~ / src $ rails rails23-app $ cd rails23-app $ rake rails:freeze:gems
-
为升级创建分支
$ cd~ / src / app_to_upgrade $ git checkout -b rails23#假设你的应用程序在Git中
-
升级Rails源
$ rm -rf vendor / rails $ mv~ / src / rails23-app / vendor / rails vendor
-
升级config / boot.rb和public / javascripts / *。 将application.rb重命名为application_controller.rb
$ rake rails:update
-
获取config / initializers / *文件。 确保会话设置适合您的应用。
$ cp -r~ / src / rails23-app / config / initializers config
-
确保您的config / environment.rb和config / environments / *文件与Rails 2.3兼容。 通过将您的文件版本与rails23-app中的版本进行比较来完成此操作
除非数据库日期时间列是UTC,否则不要使用config.time_zone =’UTC’
您希望通过将部分分解为config / initializers / *文件来使您的environment.rb文件相当小。
ActionMailer::Base.server_settings
已重命名为ActionMailer::Base.smtp_settings
-
删除/升级/修补您的应用程序可能不兼容Rails 2.3的任何插件。 有些东西已被移出Rails并进入插件,然后你必须安装这些插件。 对于分页我建议使用will_paginate( http://github.com/mislav/will_paginate/tree/master )
-
查看您对Rails所做的任何修补程序。
-
使您的测试Rails 2.3兼容:
-
在Git中提交您的分支,将其合并到master,然后进行部署。
现在你可以试试。