render syntax has me stumped


From within an action called manager within a controller called storedorders, I want to render to the view for the manger action of controller orders.

It really seems like the following syntax should work:

(within the StoredordersController manager method…)

respond_to do |format|

format.html {render :controller => ‘orders’, :action => ‘manager’}

format.xml { head :ok }


But I get the following message:

"Template is missing

Missing template storedorders/manager.erb in view path app/views"

Why is it even looking when I told it to render a different view?

This however works:

respond_to do |format|

format.html {render ‘orders/manager’}

format.xml { head :ok }


It really seems like either syntax should be valid. What am I missing?



Argument to the "render()" method does not recognises the
":controller" key. You might be confusing it with arguments to
"redirect_to()" method.
for more information.

Thanks for answering Vikrant,
Did render change recently, because the internet is littered with
advice saying

render :controller => 'con_name', :action => 'action_name'

is valid syntax. And if you can say render 'controller/action', why
not allow it to be stated the other way too?

I don't remember that "render()" ever worked that way. Can I have an