如何在Rails中使用gem运行控制器操作?

时间:2015-02-10 10:18:01

标签: ruby-on-rails whenever

例如我有一个控制器“帖子”和动作“创建”。我可以从终端运行吗?

我想使用whenever gem:

every 2.hours do
    # I want to run posts#index
end

我该怎么做?

1 个答案:

答案 0 :(得分:5)

一种解决方案是创建一个执行create逻辑的类:

class PostsController < ApplicationController

  def create
    creator = PostCreator.new(params)
    creator.process
  end
end

因此,您可以在Whataver的工作中使用此课程:

every 2.hours do
  creator = PostCreator.new({ whatever: 'you want'})
  creator.process
end