0
私のカートの次のコードは、各アイテムのループをスキップし、合計を出力して、カート全体の合計を正しく示しています。Ruby on Railsの更新カートのフォームがループをスキップするのはなぜですか?
これはなぜですか?エラーはありません。 私はRails 3.1.0とRuby 1.9.2を使用しています。
<% if notice %>
<p id="notice"><%= notice %></p>
<% end %>
<div class="cart_title">Your Cart</div>
<table>
<% for item in @cart.line_items %>
<% form_for item do |f| %>
<tr>
<td>
<%= f.submit value: 'Update Qty' %>
<%= f.text_field :quantity, size: 1 %>×
</td>
<td class="item_price"><%= number_to_currency(item.total_price) %></td>
</tr>
<% end %>
<% end %>
<tr class="total_line">
<td colspan="2">Total</td>
<td class="total_cell"><%= number_to_currency(@cart.total_price) %></td>
</tr>
</table>
<%= button_to 'Empty cart', @cart, method: :delete,
confirm: 'Are you sure?' %>
Development.logはそれに2つの製品(それぞれの数量1)でのカートのためにこの活動を示しています
Started GET "/carts/7" for 127.0.0.1 at 2012-02-15 16:23:43 +0000
Processing by CartsController#show as HTML
Parameters: {"id"=>"7"}
Cart Load (0.1ms) SELECT "carts".* FROM "carts" WHERE "carts"."id" = ? LIMIT 1 [["id", "7"]]
LineItem Load (0.1ms) [1mSELECT "line_items".* FROM "line_items" WHERE "line_items"."cart_id" = 7
Product Load (0.1ms) SELECT "products".* FROM "products" WHERE "products"."id" = 10 LIMIT 1
Product Load (0.1ms) [1mSELECT "products".* FROM "products" WHERE "products"."id" = 11 LIMIT 1
Rendered carts/show.html.erb within layouts/application (41.4ms)
Completed 200 OK in 48ms (Views: 46.5ms | ActiveRecord: 0.9ms)
絶対に正しく!教科書のエラー - 全く見えませんでした。ありがとう – Jonathan
私は助けることができてうれしい。あなたが気にしないなら、これを正解としてマークしてください。ありがとう。 –
当然のことながら、答えを書いたときに私はそれを最良の答えとして選ぶことができました〜その後、私は外出しました:) - 心配しないでください;)これを見つけていただきありがとうございます。よろしく – Jonathan