Ihave приложение rails, в котором я хочу обновить одно и то же поле нескольких записей одновременно. это моя форма в представленииОбновление Rails Несколько записей сразу с получением неизвестного атрибута ошибки
<tbody>
<%= form_tag update_cart_cart_path, method: "PUT" do |f| %>
<% @cart_items.each do |cart_item| %>
<tr class="items">
<td><a class="remove" href="#"><fa class="fa fa-close"></fa></a></td>
<td><%= image_tag cart_item.variant.variant_photos[0].variant_image %></td>
<td><a class="aa-cart-title" href="#"><%= cart_item.variant.name %></a></td>
<td>Rs. <%= cart_item.variant.price %>/kg</td>
<td><%= fields_for "cart_items[#{cart_item.id}]" do |p| %>
<%= p.text_field 'quantity' %>
<% end %></td>
<td><input class="aa-cart-quantity product-quantity" rel="<%= cart_item.variant.price %>" type="number" value="<%= cart_item.quantity %>"></td>
<td>Rs. <%= (cart_item.variant.price) * (cart_item.quantity) %></td>
</tr>
<% end %>
<td colspan="6" class="aa-cart-view-bottom">
<input type="submit" value="submit">
<%#= link_to 'Update Cart', '#', :class => 'hvr-shutter-in-horizontal button' %>
</td>
</tr>
<% end %>
</tbody>
и мой контроллер
def update_cart
@cart_items = CartItem.where(cart_id: params[:id])
@cart_items.each do |item|
item.update_attributes(update_cart_params)
end
end
private
def update_cart_params
params.require(:cart_items).permit!
end
Теперь вопрос я столкнулся, когда я пытаюсь обновить записи cart_item я получаю сообщение об ошибке unknown attribute '2' for CartItem.
это параметры, которые я получаю после отправки
Parameters: {"utf8"=>"✓", "authenticity_token"=>"5dlZZhW5UCw+dZfalPnqQmNKzkNHVLcwvt8luitOE7NojtkFDmdwwTzKi+DrFioOrpG8gcekRuQRZYYj0OKJHg==", "cart_items"=>{"2"=>{"quantity"=>"121"}, "3"=>{"quantity"=>"111"}}, "id"=>"1"}
Пожалуйста, помогите
Пожалуйста, добавьте код модели Корзина и CartItem –
я просто accept_nested_attributes: cart_items в корзину модели ... корзину has_many: cart_items и cart_item принадлежит_to: cart – user4965201