我将描述我的想法,希望你能引导我朝着正确的方向前进.我的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我想你可能正试图在一个错误的地方解决你的问题.如果你需要同时支持多个版本的应用程序,并能够独立修复它们等等,使用git进行版本控制(如果你还没有)并为每个版本创建一个单独的分支听起来就像这样去找我(我相信你可以和Mercurial,SVN等类似,但Git似乎确实是Rails事实上的标准).
以下是有关分支的一些信息的链接:http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
精彩评论