高木のブログ

RailsでRakeタスクを作成する方法

2019/06/10

手順

$ rails g task task_hoge

lib/tasks/task_hoge.rakeというファイルが生成される

タスクの中身はこんな感じで書く

namespace :task_hoge do
  desc '処理の説明'
  task :foo do
    puts 'foo!'
  end
end

実行の仕方

$ rails task_hoge:foo
foo!

モデルにアクセスしたい場合は、:enviromentを付ける。

namespace :task_hoge do
  desc '処理の説明'
  task :foo => :environment do
    puts Category.first.name
  end
end

実行結果

$ rails task_hoge:foo
すべて

Pixela