ruby-on-rails – Ruby on Rails:我应该在哪里存储模块?

我是Ruby on Rails的新手,我的问题是基于Rails 3的应用程序设计。互联网上有许多有关在Rails上创建标准网站(如博客)的数据,但是我的应用程序不仅仅需要“发布和阅读“,我不知道如何实现。

想法:

>“路线”模型包括多个航空公司模块:“瑞安航空”,“easyJet”等
>“Route.Update”方法调用每个航空​​公司模块上的“UpdateRoutes”(例如,“Ryanair.UpdateRoutes”,“easyJet.UpdateRoutes”)
>它应该与更多的型号(如“Flight.find”)和更多的航空公司(“Delta.FindFlights”)一样工作

问题:

>我应该在哪里存放所有模块?我没有在Rails中看到任何app / modules文件夹。
>如果我的模块需要宝石,我应该将它们包含在模块中或模型中(实际使用的位置)?
>我想使我的应用程序可扩展。例如,我想添加一个新的工作航空公司(模块),而不需要更改“路由”,“飞行”或任何其他模型中的任何代码。我想象一下像“IncludeAirlines”一样的方法,它将通过modules / airlines / name.rb,包括每个模块并调用它所需的方法(如name.UpdateRoutes)。有没有更好的方法来实现Ruby on Rails?

您可能知道,模块通常用作命名空间或混合模式。

放置模块的位置取决于模块与应用程序目录的紧密耦合。存储模块的几种模式:

> / lib目录,如果模块没有特别的“交互”或关注应用程序,并且将模块视为内部插件。
>如果您的模块是您的业务逻辑的核心,那么应用/模型目录将是一个适当的地方。这里的一个受欢迎的用例是将模块用作模块/控制器的模块。
> 37 Signals introduced a pattern of treating them as ‘concerns’并存储在应用程序/关注中。

如果您的模块使用宝石,您可能需要在模块中要求宝石(有时候,根本不需要)。

你的第三个问题不清楚对于那个很抱歉。不太确定你想做什么

http://stackoverflow.com/questions/4013486/ruby-on-rails-where-should-i-store-modules

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ruby-on-rails – Ruby on Rails:我应该在哪里存储模块?