text_field w środku form_remote_tag?

Pracuję nad modyfikacją funkcji dodającej produkt do koszyka (aplikacja Depot, z książki Agile Web Development With Rails), za pomocą form_remote_tag. Chcę dodać pole, które określa ile produktów o danym ID ma się dodać do koszyka. Tutaj pojawia się problem - nie wiem jak przekazać dodatkową zmienną.

Prawdopodobnie dobrze byłoby wykonać request GET pod adres /add_to_cart/id_produktu/ilość, tylko jak to zrobić?

Załączam kod:

View:

<% form_remote_tag(:url => { :action => 'add_to_cart', :id => @product }) do %> <%= text_field ???amount??? %> <%= submit_tag "Add to cart" %> <% end -%>
Controller:

def add_to_cart product = Product.find(params[:id]) @current_item = @cart.add_product(product, ???amount???) respond_to do |format| format.js if request.xhr? format.html {redirect_to_index} end end
Będę wdzięczny za każdą pomoc.
Pozdrawiam.

w routes.rb:

map.connect '/add_to_cart/:id/:quantity', :controller => 'carts', :action => 'add'

To tak na wstępie. :slight_smile:

A najlepiej wyrzuć tę książkę, bo jest straszna i uczy złych nawyków (wiem z własnego doświadczenia :confused: ), które potem będziesz kilkanaście tygodni odkręcał (zakładając że trafisz do zespołu kompetentnych railsowców).

Dzięki za wskazówkę, kod w widoku mam teraz taki:

<% form_remote_tag(:url => { :action => 'add_to_cart', :id => @product, :amount => 20 }) do %>

Działa, tylko jak umieścić w :amount wartość z text_field?

Hmm, czytałem dużo pozytywnych wypowiedzi o tej książce, także na tym forum. Co w takim razie poleciłbyś zamiast Agile?

text_field_tag “amount”

Kurde, to było zbyt proste bym na to wpadł. :stuck_out_tongue: Dzięki.