2014-06-04 32 views
0

我有一個Add to Cart按鈕。我有多個商家設置,並且用戶不能從購物車中的不同商家購買商品。我想設置它,這樣如果用戶從其他商家添加物品,它將被添加,並且不是來自新商人的所有舊物品都將從購物車中移除。根據ruby邏輯將確認彈出框附加到按鈕元素

offer.html.erb

<button class='btn btn-primary btn-sm pull-right add-offer' type='button'> 
    <span class='glyphicon glyphicon-shopping-cart'></span> Add to Cart 
</button> 

我希望讓用戶知道他將刪除所有其他項目時該項目是從不同的商人,顯示一個javascript的提示窗口(if current_item_merchant != cart.merchant )。

如何向按鈕添加確認提示?這是通過JavaScript處理還是Rails已經提供了某種解決方案呢?

如果這是由Javascript處理,我如何將Rails條件邏輯添加到我的JavaScript代碼(引用ruby變量)?

回答

0

你可以做這樣的事情

<% if current_item_merchant != cart.merchant %> 
    <%= button_to "Add to cart", {}, confirm: "Are you sure?" %> 
<% else %> 
    <%= button_to "Add to cart" %> 
<% end %> 

只要改變,取決於條件的button_to性能。 (假設你正在使用.erb

+0

謝謝,我也想到了這一點。我沒有意識到button_to在表單中的作用:) – Huy

+0

重要提示:Rails> 4.1將忽略此!一定要把它定義爲'data:{confirm:「...」}' –

1

如果您使用button_to幫助程序,則可以使用不顯眼的Javascript彈出確認對話框。你認爲合適的修改這個片斷:

<%= button_to "Add to Cart", data: { confirm: "Are you sure?" } %> 

Documentation here.