render syntax has me stumped

Hi,

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 }

end

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 }

end

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

Thanks,

Tim

Argument to the "render()" method does not recognises the ":controller" key. You might be confusing it with arguments to "redirect_to()" method. Checkout http://api.rubyonrails.org/classes/ActionController/Base.html#M000658 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? Tim

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