1

我有一个与传入请求无关的功能(如获取、发布等)。

但我想遵循 MVC 约定,让它像模型控制器:

  • 在控制器部分,我将处理来自其他部分的收入请求,决定它应该从哪个模型中检索信息、授权、过滤等;

  • 在模型部分,我将存储信息、验证信息、过期信息等。

在 Rails 中,控制器的动作可以通过路由文件指示的收入请求来调用。

如果我创建了这样的控制器,对我来说的问题是:

class SomeController < ApplicationController

  def some_action; end

end

如何从应用程序的任何位置调用some_action方法SomeController

PS CallingSomeController.new.some_action对我来说似乎不对,因为我认为所有控制器都是 app 对象的一部分。

4

2 回答 2

0

您可以通过实例化控制器来做到这一点。

SomeController.new.some_action

然而,这并不是真正的 MVC 方式。我真的不知道你想用它做什么,但可能有更好的方法。例如,它可以像在模型中那样完成,因为数据的修改不应该属于控制器。

于 2013-01-03T11:00:27.457 回答
0

我认为您可能应该创建一个 PORO,它将以某种方法封装此功能。因此,任何与逻辑相关的功能都应该在其中而不是在控制器中。然后你可以在任一控制器中调用它们。

于 2013-01-03T11:43:34.490 回答