El día 10 de septiembre de 2009 11:03, Natalia Gutierrez <[email protected]> escribió: > Hola a todos! soy nueva en la lista. Estoy utilizando Easy Eclipse RadRails, > y siguiendo el libro Agile Web Development v2. Mi duda es sobre los render. > El render_component esta deprecated. Viendo en internet ahora se utiliza el > metodo render. El tema es que lo coloque en la vista checkout.html.erb > (view): > > <%= error_messages_for("order")%> > <%= render :action => 'display_cart'%> > <% @page_title = "Checkout" -%> > <% form_tag 'save_order' do %> > <table> > <tr> > <td>Nombre > ...... > > y no hace nada. Esto es parte de mi controlador: > > class StoreController < ApplicationController > def index > @products=Product.salable_items > end > > def display_cart > @cart = find_cart > @items = @cart.items > if @items.empty? > redirect_to_index("Su pedido esta vacio") > end > end > ..... > > Aca esta el display_cart.html.erb: > > <% @page_title = "Tu pedido" %> > <div id="cartmenu"> > <ul> > <li><%= link_to "Continuar comprando", :action => "index" %></li> > <li><%= link_to "Vaciar pedido", :action => "empty_cart" %></li> > <li><%= link_to "Checkout", :action => "checkout" %></li> > </ul> > </div> > <table cellpadding="10" cellspacing="0"> > <tr class="carttitle"> > <td rowspan="2">Cantidad</td> > <td rowspan="2">Descripcion</td> > <td colspan="2">Precio</td> > </tr> > <tr class="carttitle"> > <td>Cada uno</td> > <td>Total</td> > </tr> > <% for item in @items > product = item.product > -%> > <tr> > <td><%= item.quantity %></td> > <td><%= h(product.title) %></td> > <td align="right"><%= number_to_currency(item.unit_price) %></td> > <td align="right"><%= formato_moneda(item.unit_price * > item.quantity) %></td> > </tr> > <%end%> > <tr> > <td colspan="3" align="right"><strong>Total:</strong></td> > <td id="totalcell"><%=formato_moneda(@cart.total_price)%></td> > </tr> > </table> > > Cuando presiono el boton checkout, muestra la pagina de checkout, pero no la > de display_cart incluida. Incluso (como no entiendo mucho) probe con render > : template, pero tampoco funciona. Probe colocar la sentencia con el render > en el controlador, y ahi, me muestra el display_cart, pero no el checkout. > > Alguno me podra ayudar? Gracias > >
Tenés que usar render :partial ... el render :action es para decirle al controlador que use otra view para renderizar y va en el código del controlador. El render partial lo podés usar en la view. Ojo, con el render :partial ya tenés que tener leídas las variables de instancia que vas a usar. http://api.rubyonrails.org/classes/ActionController/Base.html#M000658 Silvio _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
