Эй, ребята, я пытался понять документацию и найти пример, но я в растерянности.
Это просто форма отправки в корзину для обновления количества. Однако обновленное количество не сохраняется в базе данных - оно всегда составляет 0. Пожалуйста, помогите.
Форма
<% for line_item in @cart.line_items %>
<% form_for :lineitems, :url => {:controller => "line_items", :action => "cart_update", :id => "#{line_item.product_id}"} do |l| %>
<%= l.text_field :quantity, :size => '3', :value => line_item.quantity %>
<%= l.submit 'cart_update' %>
<% end %>
Маршрут
map.connect 'line_item_update', :controller => 'line_items', :action => 'cart_update'
Контроллер
def cart_update
@product = Product.find(params[:id])
item = LineItem.find_or_create_by_cart_id(:cart_id => current_cart.id, :product_id => @product.id, :quantity => 0, :unit_price => @product.price)
item.quantity = (params[:quantity]).to_i
item.save
redirect_to :controller => 'products'
end