【问题标题】:Creating another version of existing Rails application创建现有 Rails 应用程序的另一个版本
【发布时间】:2023-03-18 07:18:01
【问题描述】:

我有一个名为 Student 的 Rails 应用程序。现在我想通过使用版本控制对其现有的一些控制器进行一些更改,而不更改现有的控制器。通过搜索,我找到了 Ruby 的 versionist gem。我已经阅读了它的文档。但我没有清楚地理解它。我只想创建我的应用程序的另一个版本 v2。我现有的应用程序没有版本名称。谁能指导我准确地创建我的 Rails 应用程序的另一个版本?

【问题讨论】:

  • 您希望这两个版本都有“自己的生活”,还是只是希望将版本控制应用于现有项目?如果您正在查看版本控制,我会使用标准工具,例如 gitsvnhg。这些工具对于“github”等基于网络的代码共享站点也很有用。
  • 不,我不是在看版本控制,而是希望两个版本都有自己的生命,这样我就可以通过 url 访问它们。
  • 然后您可以将一个项目“深度复制”到另一个项目文件夹中。 例如cp -a proj1 proj2(如果您使用的是 Linux)。
  • 当我想用浏览器访问它们的不同版本时,您建议的方法将不起作用。这就是为什么我想使用该 gem,以便在 routes.rb 中相应地进行更改以访问它们的不同版本。

标签: ruby-on-rails versioning


【解决方案1】:

假设您有一个UsersController,并且您想创建一个新版本 v2。

  1. 在您的app/controllers 文件夹中,创建一个v2 文件夹并在其下复制users_controller.rb。现在,打开app/controllers/v2/users_controller.rb 并为其添加命名空间

    class V2::TranslationResponsesController
    
  2. 通过以下方式将新控制器添加到您的routes.rb

    namespace :v2 do
        resources :users
    end
    
  3. 现在,您可以通过将 v2 添加到路径为 http://localhost:3000/v2/users 来访问控制器,而您的旧控制器仍可通过 http://localhost:3000/users 获得

希望有帮助

【讨论】:

  • 所以您的意思是只有我要为其创建新版本的控制器才需要上述操作,而其他控制器则保持不变。如果我错了,请纠正。
猜你喜欢
  • 1970-01-01
  • 2017-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-21
  • 2014-05-12
  • 2011-04-28
  • 2017-07-24
相关资源
最近更新 更多