从Rails中的任务调用控制器方法

问题描述:

我想在Rails中创建一个调用我的控制器方法之一的任务。我在SO上发现了类似的问题(包括nearly asks the exact same question),但答案几乎总是“将代码移到模型中”。从Rails中的任务调用控制器方法

我不认为这适用于我的情况,但也许我错了。

我在我的控制器中有一个方法,它使用Instagram的API获取一些数据,然后调用模型中的方法来存储数据。这对我来说似乎是一个合乎逻辑的分离。但是现在我想创建一个调用我的控制器中的获取方法的任务。

  1. 是否可以从任务调用我的控制器中的获取方法?
  2. 访存方法可以被RESTful URL访问。我可以/应该从一个任务调用它吗?
  3. 我的提取代码应该移入我的模型中吗?如果是这样,为什么?它似乎与数据库活动没有直接关系。

感谢您的帮助。

您可以在不将模型放到模型上的情况下移动代码:考虑将与Instagram API的任何交互封装到单独的类中,然后可以由您的控制器和您的任务重用。

+0

感谢您的快速回复。你建议把它放在助手课上吗?可以从任务中调用助手类的方法吗? – bergie3000 2013-02-20 22:07:49

+0

它不一定是帮手。当我必须做类似的事情(Rails 2,可能稍微过时)时,我们将类添加到/ lib并从那里使用它们,并将助手类留给直接在视图中使用的功能。 – ChrisC 2013-02-20 22:13:48