我是Ruby on Rails的新手,我的问题与基于Rails 3的应用程序设计有关。虽然网上有很多关于在Rails上创建标准网站(如博客)的数据,但我的应用程序需要更多的功能,不仅仅是“发布和阅读”,我不确定该如何实现。
想法:
- 模型“Route”包括许多航空公司模块:“Ryanair”、“easyJet”等。
- “Route.Update”方法调用每个航空公司模块的“UpdateRoutes”(例如,“Ryanair.UpdateRoutes”,“easyJet.UpdateRoutes”)
- 使用更多模型(例如“Flight.find”)和更多航空公司(“Delta.FindFlights”)时,它应该以同样的方式工作
问题:
- 我应该把所有模块存储在哪里?我在Rails中看不到任何app/modules文件夹。
- 如果我的模块需要gem,我应该把它们包含在模块中还是模型中(它们实际使用的地方)?
- 我希望使我的应用程序可扩展。例如,我想添加一个新的运行航空公司(模块),而不改变“Route”、“Flight”或任何其他模型中的任何代码。我想象中的一种方法是“IncludeAirlines”方法,该方法将遍历modules/airlines/name.rb,包括每个模块并调用它的所需方法(例如name.UpdateRoutes)。在Ruby on Rails中是否有更好的实现方式?