我来自.Net MVC背景,希望在RoR中做一个项目。具体来说,我开发了一个REST API。是否可以改变Rails项目中的文件夹结构?
我会描述我的想法,希望你能引导我走向正确的方向。我的api必须支持各种版本,而对api进行版本化的最强大的方法是复制每个版本的代码。通过这种方式解决一个版本中的问题不会影响其他版本。当谈到在.NET MVC中这样做时,区域是您最好的朋友,因为每个版本的源文件可以很好地通过使用区域进行分段。
所以我的问题是:在回报率是有可能改变的目录结构,所以这个层次
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
@Russell我愿意接受任何建议。我无法预见新版本将如何改变。但是,我希望他们都在相同的Rails实例内,除非被认为是不好的做法。 – Roman
我想我所得到的是,它们是多个*不同*版本的类似功能,还是只是新版本 - 相同功能的新版本最终将取代旧版本(必须保留一段时间兼容)? – Russell