gpt4 book ai didi

ruby-on-rails - Ruby on Rails : where should I store modules?

转载 作者:行者123 更新时间:2023-12-03 11:51:03 25 4
gpt4 key购买 nike

我是 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”这样的方法,它会通过模块/航空公司/name.rb,包括每个模块并调用它所需的方法(例如name.UpdateRoutes)。有没有更好的方法在 Ruby on Rails 中实现它?
  • 最佳答案

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

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

  • /lib 目录,如果模块不特别“交互”或不关注 app/并且您将模块视为内部插件。
  • 如果您的模块是业务逻辑的中心,那么 app/models 目录将是一个合适的位置。这里的一个流行用例是您使用模块作为 mixin 来干燥您的模型/ Controller 。
  • 37 Signals introduced a pattern of treating them as 'concerns'并将它们存储在应用程序/关注点中。

  • 如果您的模块使用 gem,您可能需要在模块中 require gem(有时根本不需要 require)。

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

    关于ruby-on-rails - Ruby on Rails : where should I store modules?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4013486/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com