2012-02-15 39 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 %> 

我是新來編程,但我想我需要使用Javascript/jQuery的這一點,像#quantity [#{} product.id]。VAL(),但我不能得到它工作。

我希望你能幫忙。如果你看到更好的實現方式,請讓我知道。謝謝。

回答

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,起初我覺得在一頁上有許多「迷你表格」似乎有點奇怪,但這實際上是非常有意義的。我看到你關於Spree的觀點,這是一款漂亮的產品,但對我的需求來說太複雜了。 – 2012-02-16 02:03:03