保存文件时运行rake任务

时间:2016-09-19 04:17:12

标签: ruby-on-rails ruby-on-rails-4 rake rake-task

我在项目中有一些文件,每次更新时都需要进行后期处理。

我可以将这些流程提取到rake任务中。我的问题是:

每次保存特定文件时,如何自动运行rake任务?

2 个答案:

答案 0 :(得分:0)

我认为您可以使用invoke方法

执行此操作
if @file.save
  .
  .
  .
  Rake::Task['task_name'].invoke
end

请参阅此SO question了解详情

答案 1 :(得分:0)

您可以在模型文件中执行此操作。

  after_save :update_rake_operations

  def update_rake_operations
    task = "update_status"
    Rake::Task[task].invoke
  end

您应该在项目文件夹下的Rakefile中使用以下代码。这应该默认存在。

  require File.expand_path('../config/application', __FILE__)
  require 'rake'

  ProjectFolder::Application.load_tasks