I’m starting now with rails, and i have simply question i think.
I need to render two partials in one ajax call:
I have the following controller:
# GET /hosts/1
# GET /hosts/1.json
def show
@host = Host.find(params[:id])
respond_to do |format|
format.html #show.html
format.js
format.json { render :json => @host }
end
end
And the respective template (show.js.erb):
$('#tabs-1').html("<%= escape_javascript(render @host) %>");
And a partial file named _host.html.erb
All this works fine. The template “_host.html.erb” is rendered in div
tabs-1, but now i need to add some other partial template to a
different id (#tabs-2), but use the same @host
How can i do this? by default, render @host will use the template file
_host.html.erb. How can i call a different file like “_host2.html.erb”
and have the same @host instance available?
Thanks,
Joao
On May 21, 2012, at 8:45 AM, Joao M. wrote:
respond_to do |format|
And a partial file named _host.html.erb
All this works fine. The template “_host.html.erb” is rendered in div
tabs-1, but now i need to add some other partial template to a
different id (#tabs-2), but use the same @host
How can i do this? by default, render @host will use the template file
_host.html.erb. How can i call a different file like “_host2.html.erb”
and have the same @host instance available?
render :partial => ‘_host2’, :locals => { :host2 => @host }
Have a look at the Rails Guide on Views and rendering for more options.
Walter
On May 21, 1:45pm, Joao M. [email protected] wrote:
respond_to do |format|
And a partial file named _host.html.erb
All this works fine. The template “_host.html.erb” is rendered in div
tabs-1, but now i need to add some other partial template to a
different id (#tabs-2), but use the same @host
How can i do this? by default, render @host will use the template file
_host.html.erb. How can i call a different file like “_host2.html.erb”
and have the same @host instance available?
If you call render ‘_host2’ (or render :partial => ‘host2’) you’ll
still be able to use @host in the template - the instance variable
copying stuff is separate from the template lookup stuff
Fred
Hi,
Thank you very much 4 helping,
working with render :partial => ‘host2’, :locals => { :host2 =>
@host }
cheers,
Joo