如何调用控制器的方法

时间:2013-01-03 10:45:51

标签: ruby-on-rails controller

我有一个与传入请求无关的功能(如get,post等)。

但我想遵循MVC约定并使其像模型控制器一样:

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

  • 模型部分中的
  • 我将存储信息,验证信息,使信息过期等等。

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

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

class SomeController < ApplicationController

  def some_action; end

end

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

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

2 个答案:

答案 0 :(得分:0)

您可以通过实施控制器来实现此目的。

SomeController.new.some_action

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

答案 1 :(得分:0)

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