我來自.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