gpt4 book ai didi

ruby-on-rails - 需要帮助升级我的 Rails 版本

转载 作者:行者123 更新时间:2023-12-04 03:46:49 29 4
gpt4 key购买 nike

我是 Ruby on Rails 的新手。我需要将我的rails版本从1.2.3升级到2.3.5。我在windows环境下使用mysql数据库。你能帮我清楚升级rails版本所涉及的步骤吗。

谢谢

最佳答案

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

在此之前只需检查以下设置:

  1. 检查 environment.rb 设置
  2. 将 .rhtml 文件迁移到 html.erb
  3. 考虑到 ROR 2.3.4 简化了指定路由,检查可能需要进行的任何 routes.rb 更改
  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 安装 rails

  2. 由于 rails:freeze:gems 1.2.3 与 RubyGems 1.3.1 不兼容(GemRunner 问题)并且它不知道 activeresource,我们将使用新的 Rails 2.3.4 进行检查出源:

    $ cd ~/源代码$ 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 供应商/rails$ mv ~/src/rails23-app/vendor/rails 供应商

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

    $ rake rails:update

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

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

  7. 确保您的 config/environment.rb 和 config/environments/* 文件与 Rails 2.3 兼容。通过将您的文件版本与 rails23-app 中的文件版本进行比较来执行此操作

不要使用 config.time_zone = 'UTC' 除非你的数据库日期时间列是 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,然后部署。

现在你可以试试了。

关于ruby-on-rails - 需要帮助升级我的 Rails 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2244151/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com