如何调用控制器的方法
我有一个与传入请求无关的function(如get,post等)。
但我想遵循MVC约定并使其像模型控制器:
-
在控制器部分我将处理来自其他部分的收入请求,决定从哪个模型检索信息,授权,过滤等;
-
在模型部分我将存储信息,validation它,使它过期等。
在Rails中,控制器的动作可以由路径文件指示的收入请求调用。
对我来说问题是,如果我创建了这样的控制器:
class SomeController < ApplicationController def some_action; end end
如何从我的应用程序中的任何位置调用SomeController
方法some_action
?
PS调用SomeController.new.some_action
对我来说似乎不对,因为我认为所有控制器都是app对象的一部分。
您可以通过实例化控制器来完成此操作。
SomeController.new.some_action
然而,这不是真正的MVC方式。 我真的不知道你想用它做什么,但可能还有更好的方法。 例如,它可以像在模型中那样完成,因为数据的修改应该不属于控制器。
我认为您应该创建一个PORO,它将在某些方法中封装此function。 因此,任何依赖于逻辑的function都应该在其中,而不是在控制器中。 然后你可以在任一控制器中调用它们。