Я новичок в Ruby on Rails, и мои вопросы касаются дизайна приложения, основанного на Rails 3. В Интернете есть много данных о создании стандартных веб-сайтов (таких как блоги), но мое приложение требует больше чем просто "пост и чтение", и я не уверен, как это реализовать.
Идея:
- Модель "Маршрут" включает в себя ряд модулей авиакомпаний: "Ryanair", "easyJet" и т.д.
- Метод Route.Update вызывает "UpdateRoutes" для каждого модуля авиакомпании (например, "Ryanair.UpdateRoutes", "easyJet.UpdateRoutes" ).
- Он должен работать аналогично с большим количеством моделей (например, Flight.find) и другими авиакомпаниями ( "Delta.FindFlights" ).
Вопросы:
- Где я должен хранить все модули? Я не вижу папку приложений/модулей в Rails.
- Если мои модули требуют драгоценных камней, следует ли включать их в модули или модели (где они фактически используются)?
- Я хочу сделать приложение масштабируемым. Например, я хочу добавить новую рабочую авиакомпанию (модуль) без изменения кода в "Маршрут", "Полет" или любую другую модель. Я представляю себе что-то вроде метода "IncludeAirlines", который будет проходить через модули/авиакомпании/name.rb, включать каждый модуль и вызывать необходимый ему метод (например, name.UpdateRoutes). Есть ли лучший способ реализовать это в Ruby on Rails?