2012-02-15 3 views
0

RoRを使用してスーパーシンプルストアを構築したいと思い、「Agile Web Developmenet with Rails」の素晴らしい例を見つけました。私が持っているのは、ストアのインデックスページにある製品のリストで、各製品にはカートに製品を追加するボタンがあります。私がやりたい何Railsとjavascript?:インデックスページのselect_tag値を取得する

<% @products.each do |product| %> 
    <%= product.name %><br /> 
    <%= button_to 'Order', add_to_cart_store_index_path(:id => product), :remote => true %> 
<% end %> 

は、彼らが注文したい項目の数を選択するようにユーザーのための小さなドロップダウンメニューを追加することです:

ボタンをクリック
<%= select_tag("quantity[#{product.id}]", options_for_select(['1', '2', '3', '4'], '1')) %> 

このようなselect_tagメニューから選択した値を渡す必要があります。

<%= button_to 'Order', add_to_cart_store_index_path(:id => product, :quantity => ?????), :remote => true %> 

私はプログラミングに新しいですが、私は、私は、このために#quantity [#{product.id}]のようなものをジャバスクリプト/ jQueryのが必要だと思う。ヴァル()が、私はそれを得ることができません作業。

私はあなたにこれを助けることを願っています。これを実装するためのより良い方法がある場合は、私にも教えてください。ありがとう。

答えて

0

このようにしてカートに追加ボタンを実装しようとするのではなく、すべて一緒に動作し、JavaScriptを書かずに量を送信できるようにフォームにします。側として

<%= form_tag add_to_cart_store_index_path(:id => product), :method => :post do %> 
    <%= select_tag :quantity, options_for_select(['1', '2', '3', '4'], '1' %> 
    <%= submit_tag 'Add to cart' %> 
<% end %> 

あなたの本以下の独自のシンプルなストアを作成することにより、プログラミングを学ぶために良い運動もありますが、あなたは、より複雑で生産価値のある何かをするつもりなら、それはあなたに多くの時間を節約できますホイールを再発明するよりも、Spree http://github.com/spree/spreeのようなものを試してみてください。

+0

ありがとうございましたJDutil、最初は1ページに多くの「ミニフォーム」があるのがちょっと奇妙に思えましたが、これは実際には完全に理にかなっています。私はSpreeについてのあなたの意見を見ます、それは美しい製品ですが、私のニーズには複雑すぎます。 –

関連する問題