Wie kann ich mit acts_as_shopping_cart die grundlegende Mengenbearbeitung implementieren?

Für das Schmuckstück acts_as_shopping_cart sind zwei Modelle erforderlich:Shopping Cart undShopping Cart Item.

Die Attribute, auf die Sie zugreifen können, lauten für den Artikel folgendermaßen:

<td><%= shopping_cart_item.item.name %></td>
<td><%= shopping_cart_item.item.price %></td>
<td><%= shopping_cart_item.quantity %></td>

Aber ich möchte Benutzern erlauben, die Menge zu ändern - beispielsweise über ein Dropdown-Menü (also ein Auswahl-Tag aus einer Sammlung).

Aber ich bin mir nicht ganz sicher, wie ich das angehen soll.

Ich möchte meinem Artikel auch andere Attribute hinzufügen - z. B. die Größe eines Artikels, die Farbe usw.

Ich möchte, dass mein Ladenbesitzer diese Angaben machen kann (d. H. Größe, Farbe usw.).

Wie mache ich das im Rahmen vonacts_as_shopping_cart?

Vielen Dank.

Bearbeiten 1:

Oder wenn jemand einen besseren Vorschlag für eine andere Warenkorblösung hat, mit der ich eine einfache Kaufabwicklung durchführen kann, würde ich das auch begrüßen.

Bearbeiten 2

views/shopping_cart/show.html.erb

<h1>Shopping Cart</h1>

<table class="table table-striped">
  <thead>
        <tr>
            <td>Item</td>
            <td>Price</td>
            <td>Quantity</td>
        </tr>
    </thead>
    <tbody>
        <tr>  
      <%= render :partial => 'shopping_cart_item', :collection => @shopping_cart.shopping_cart_items %>
    </tr>
  </tbody>  
</table>

<div>
    <p>SubTotal: <%= number_to_currency @shopping_cart.subtotal %></p>      
</div>
<div>
    <p>Taxes: <%= number_to_currency @shopping_cart.taxes %></p>
</div>
<div>
    <p>Total: <%= number_to_currency @shopping_cart.total %></p>
</div>

_shopping_cart_item.html.erb Teilweise sieht das so aus:

<td><%= shopping_cart_item.item.name %></td>
<td><%= shopping_cart_item.item.price %></td>
<td><%= shopping_cart_item.quantity %></td>

Sehr sehr einfacher Warenkorb - aber nicht sicher, wie man von diesem in einen tatsächlichen Warenkorb mit Menge, Größe usw. übergeht.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage