需要帮助来升级我的rails版本

我是Ruby on Rails的新手。 我需要将我的rails版本从1.2.3升级到2.3.5。我正在使用mysql数据库在windows环境中工作。请你帮我完成升级rails版本所涉及的步骤。

谢谢

正如您所说,要升级当前应用程序的rails版本,您必须遵循以下几个步骤:

在此之前,请检查以下设置:

  1. 检查environment.rb设置
  2. 将.rhtml文件迁移到html.erb
  3. 检查可能需要进行的任何routes.rb更改,因为ROR 2.3.4已经简化了指定路由
  4. 确保你有一个好的SCM系统例如:git,svn,(或)甚至cvs。 这样就可以捕获小的增量变化。

  5. 应该检查插件的兼容性

  6. 更新任何form_tag条目,例如<%= form_tag :action=> "search" %> becomes <% form_tag :action=>"search" do %>

  7. 就像明智地将<%= end_form_tag%>更改为<%end%>一样。

完成上述设置后,请按照以下说明操作:

  1. 首先,我们必须通过以下命令升级rails

    $ sudo gem install rails

  2. 由于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

  3. 为升级创建分支

    $ cd~ / src / app_to_upgrade $ git checkout -b rails23#假设你的应用程序在Git中

  4. 升级Rails源

    $ rm -rf vendor / rails $ mv~ / src / rails23-app / vendor / rails vendor

  5. 升级config / boot.rb和public / javascripts / *。 将application.rb重命名为application_controller.rb

    $ rake rails:update

  6. 获取config / initializers / *文件。 确保会话设置适合您的应用。

    $ cp -r~ / src / rails23-app / config / initializers config

  7. 确保您的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

  1. 删除/升级/修补您的应用程序可能不兼容Rails 2.3的任何插件。 有些东西已被移出Rails并进入插件,然后你必须安装这些插件。 对于分页我建议使用will_paginate( http://github.com/mislav/will_paginate/tree/master

  2. 查看您对Rails所做的任何修补程序。

  3. 使您的测试Rails 2.3兼容:

  4. 在Git中提交您的分支,将其合并到master,然后进行部署。

现在你可以试试。