Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
662 views
in Technique[技术] by (71.8m points)

ruby on rails - Call controller from rake task

I would like to call controller action from rake task. My question is what method is the best to prepare http request? Thanks for all tips.

Edit: Have someone another tip? I tried this and not work:

controller_obj = Controller.new
controller.your_method

I got this exception:

rake aborted!
uninitialized constant Controller

Edit2: I tried:

sess = ActionController::Integration::Session.new
sess.post('/route', 'codes=3')

But I got (I have require 'action_controller/integration' in rake file) :

rake aborted!
cannot load such file -- action_controller/integration
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
task :use_controller_method_in_rake => :environment do
  session = ActionDispatch::Integration::Session.new(Rails.application)
  session.get "/foo"
  session.post "/bar", {my_post_params: 'foobar'}
end

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...