Я новичок в рельсах, и я работаю над онлайн-магазином. Я хочу использовать флажок в корзине покупок, чтобы пользователь мог выбрать, покупать ли продукт. Но мне не нравится кнопка отправки рядом с флажком. Я знаю, что я должен использовать ajax для обновления базы данных без кнопки отправки. Но я не сделал эту работу. Следующий мой код.Rails- Использование флажка для обновления базы данных без кнопки отправки
Вот JQuery Ajax,
$(document).ready(function(){
$(".checkbox_submit").change(function(){
$.ajax({url: {:action => create}, success: function(result){
$(this).parents('form:first').submit();
}});
});
});
И это мой взгляд, первый тд является флажок
<tr>
<td style="width: 5%;">
<%= form_for cart_item, url: cart_item_path(cart_item.product_id), remote: true do |f| %>
<%= f.check_box(:buy_now, class: "checkbox_submit") %>
<% end %>
</td>
<td style="width: 20%;" >
<%= link_to(product_path(cart_item.product)) do %><%= image_tag(cart_item.product.image.thumb.url) %><% end %>
</td>
<td style="width: 30%;"><%= link_to(cart_item.product.title, product_path(cart_item.product)) %></td>
<td><%= cart_item.product.price %></td>
<td>
<%= form_for cart_item, url: cart_item_path(cart_item.product_id, remote: true) do |f| %>
<%= f.select :quantity, 1..cart_item.product.storage, class: "select_submit" %>
<% end %>
</td>
<td><strong>¥<%= cart_item.product.price * cart_item.quantity %></strong></td>
<td><%= link_to(cart_item_path(cart_item.product_id), method: :delete) do %><i class="fa fa-trash-o" aria-hidden="true"></i><% end %></td>
</tr>
И это мой контроллер
def update
@cart = current_cart
@cart_item = @cart.cart_items.find_by(product_id: params[:id])
if @cart_item.product.storage >= cart_item_params[:quantity].to_i
@cart_item.update(cart_item_params)
redirect_to carts_path
else
redirect_to carts_path, alert: "exceed the storage"
end
end
Могли кто-нибудь поможет мне в этом? Заранее спасибо!
что это ошибка, которую вы получаете? – jithya
Когда я нажимаю на этот флажок, ничего не происходит с базой данных. – lacfo
Что такое ошибка js? это запрос, передаваемый контроллеру? – jithya