Here’s how I executed task in
seeds.rb, in Rails.
- Ruby 2.2.2p95
- Rails 4.1.8
- Rake 10.4.2
First, create a task with
rails g task sample shot. The following code will be generated.
namespace :sample do
desc "shot sample"
task shot: :environment do
# something to do
Now, we can execute the task with
bundle exec rake sample:shot. The goal is to execute the task when
bundle exec rake db:seed is executed. Maybe, it is the same way to execute task in rails code.
Add the code into
seeds.rb, like below.
ENV['SOMETHING'] = 'value'
Environment (test, development, production) is passed, which is valid in
rake db:seed. On the above, set
SOMETHING. It is like FEATURES in
rake db:fixture:load FIXTURES=xxxx.