How to call a controller from the rake file, Just i have tried to create a controller object in rake, and call the method, but i didn’t get that… also how to link the helper class with the rake?
I don't believe it makes sense to call controller methods from a rake task. Put the bits you want to call in a model and you can call them. Similarly to call view helper models does not make sense. There is no view so what good are view helpers? Put the code in models or in lib.
Colin
can i use like this…
myrake file
task :my_task => [:environment] do
rd=MofobirakesController.new
rd.index
end
Controller file
class MofobirakesController < ApplicationController
def index
puts “hai rails3”
end
end
what is the difference in that way to do in controller and in model…?
can i use like this..
myrake file
task :my_task => [:environment] do rd=MofobirakesController.new rd.index end
Controller file
class MofobirakesController < ApplicationController def index puts "hai rails3" end end
what is the difference in that way to do in controller and in model..?
The difference is that controller actions are intended to be run in response to http requests. To try and run one as part of a rake action does not make logical sense.
You ask at the top whether it would work, I have no idea whether it would work or not and it is irrelevant because there is no sense in doing it. If you have code that is common between a controller action and a rake task then the code should not be in a controller action. Move it to a model or into lib and call it from the controller and the rake task. What does the code that you want to call do?
Colin
Basically i need to write one cron job for running the rake file from which, i’ll call one class, that have one query which will take data from some tables and will put into another tables. This is my objective. But now created one .rb file in lib/ directory and created one .rake in task/ directory. Also call the .rb file from the rake. This is now working…
Is it enough for my operation?
Thank you
vishnu
I don't understand, you say "This is now working" but then ask if it is enough.
Colin