【发布时间】:2012-05-15 20:16:04
【问题描述】:
我来自 .Net MVC 背景,希望在 RoR 中做一个项目。具体来说,我正在开发一个 REST api。
我将描述我的想法,希望你能引导我朝着正确的方向前进。我的 api 必须支持版本,最强大的版本 api 方法是为每个版本复制代码。这样在一个版本中修复问题不会影响其他版本。在 .NET MVC 中执行此操作时,区域是您最好的朋友,因为每个版本的源文件都可以通过使用区域很好地分割。
所以我的问题是:在 RoR 中是否可以更改目录结构以使这种层次结构
app/
controllers
/v1
c1_controller.rb
c2_controller.rb
/v2
c1_controller.rb
c2_controller.rb
models/
/v1
m1.rb
m2.rb
/v2
m1.rb
m2.rb
views/
/v1
view1.html.erb
view2.html.erb
/v3
view1.html.erb
view2.html.erb
可以改成这样吗?
app/
v1/
controllers/
c1_controller.rb
c2_controller.rb
models/
m1.rb
m2.rb
views/
view1.html.erb
view2.html.erb
v2/
controllers/
c1_controller.rb
c2_controller.rb
models/
m1.rb
m2.rb
views/
view1.html.erb
view2.html.erb
【问题讨论】:
-
您能否详细解释一下版本之间的差异,您是否会在同一个 Rails 实例中运行多个版本等?感觉可能有一个更简洁的解决方案来解决您的问题(各种 git 分支或其他东西),但如果没有更多内容,就很难知道。
-
@Russell 我愿意接受任何建议。我无法预见新版本将如何变化。但是,除非被认为是不好的做法,否则我希望它们都在同一个 Rails 实例中。
-
我想我的意思是,它们是相似功能的多个 不同 版本,还是新版本 - 相同功能的新版本最终替换旧版本(为了兼容性必须保留一段时间)?
标签: ruby-on-rails ruby-on-rails-3 api rest