0

在制作我的 Rails 4 应用程序时,MVC 的原则让我思考。我完全赞成将逻辑转移到模型中并坚持胖模型原则,但只是想知道您对以下内容的想法:

我的 Payments 表上存在一个用户启动的操作,该操作会更改付款状态。要取消付款,付款必须已激活。

在调用模型中的方法之前,我选择使用我的控制器来确定付款状态是活动的。我的一般方法是让控制器决定是否需要调用数据库,然后我才会调用模型中的方法来实际进行调用。

你认为我应该让模型来决定是否更新状态吗?出于某种原因,这对我来说似乎不正确。

听到对此的一些想法会很有趣。

4

2 回答 2

0

业务逻辑转到 MVC 中的模型部分。Model 的作用是包含数据和业务逻辑。另一方面,控制器负责接收用户输入并决定做什么。

于 2013-10-23T19:01:37.940 回答
0

我建议你把它放在你的模型中。

原因:

  1. 它是模型的责任。它应该知道何时取消付款。
  2. 干燥。如果您在不同的地方需要相同的行为,则不必重复主动检查。
  3. 易于测试,因为整个逻辑都在一个地方。

My general approach is to let Controllers decide whether a call to the DB is required and only then will I call the method in the model to actually make the call

模型不仅仅是进行数据库调用。

于 2013-10-23T18:29:12.970 回答