gpt4 book ai didi

ruby-on-rails - 这种计算是放​​在Model还是Controller?

转载 作者:太空宇宙 更新时间:2023-11-03 17:19:10 25 4
gpt4 key购买 nike

我有 Product 和 SalesOrder 模型(为简化起见,1 个 sales_order 仅适用于 1 个产品)

Product
has_many :sales_orders

SalesOrder
belongs_to :product

pa = Product A #2000
so1 = SalesOrder #1 order product A #1000, date:yesterday
so2 = SalesOrder #2 order product A #999, date:yesterday
so3 = SalesOrder #3 order product A #1000, date:now

根据日期,pa.find_sales_orders_that_can_be_delivered 将提供:

SalesOrder #1 order product A #1000, date:yesterday
SalesOrder #2 order product A #999, date:yesterday
SalesOrder #3 order product A #1, date:now <-- the newest

问题是:find_sales_orders_that_can_be_delivered 应该在模型中吗?我可以在 Controller 中完成。

一般的问题是:什么在模型中,什么在 Controller 中。

谢谢

最佳答案

很简单:

Tiny Controller, Fat Model

您在模型中制作了所有内容。如果你放入你的 Controller ,你就不能在不同的部分重用它。

  • 抽取任务
  • 其他控制者
  • 控制台

所以把所有可能的都放在你的模型中。在 Controller 中,您只对 session /cookie 进行操作。重定向部分和使用的 View 。

关于ruby-on-rails - 这种计算是放​​在Model还是Controller?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2948856/

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