Я искал везде, но, похоже, не может найти проблему, почему мой запрос AJAX не проходит для добавления элементов в корзину.ajax не работает на рельсах 4
line_items_controller.rb
def create
product = Product.find(params[:product_id])
@line_item = @cart.add_product(product.id)
respond_to do |format|
if @line_item.save
format.html { redirect_to store_url }
format.js { @current_item = @line_item }
format.json { render action: 'show',
status: :created, location: @line_item }
else
format.html { render action: 'new' }
format.json { render json: @line_item.errors,
status: :unprocessable_entity }
end
end
end
магазин/index.html.erb
<% if notice %>
<p id="notice"><%= notice %></p>
<% end %>
<h1>Your Pragmatic Catalog</h1>
<% cache ['store', Product.latest] do %>
<% @products.each do |product| %>
<% cache ['entry', product] do %>
<div class="entry">
<%= image_tag(product.image_url) %>
<h3><%= product.title %></h3>
<%= sanitize(product.description) %>
<div class="price_line">
<span class="price"><%= number_to_currency(product.price) %></span>
<%= button_to 'Add to Cart', line_items_path(product_id: product),
remote: true %>
</div>
</div>
<% end %>
<% end %>
<% end %>
line_items/create.js.erb
$('#cart').html("<%= escape_javascript render(@cart) %>");
$('#current_item').css({'background-color':'#88ff88'}).
animate({'background-color':'#114411'}, 1000);
line_items/_line_item.html.erb
<% if line_item == @current_item %>
<tr id="current_item">
<% else %>
<tr>
<% end %>
<td> <%= line_item.quantity %>× </td>
<td> <%= line_item.product.title %> </td>
<td class= "item_price" > <%= number_to_currency(line_item.total_price) %> </td>
</tr>
В моем файле журнала я вижу, что страница отправляет кучу запросов GET каждый раз, когда я добавляю элемент в корзину, а также вижу, что он перезагружается. Ошибок не обнаружено в файле журнала.
перезапущен сайт несколько раз. если у меня установлены jquery и jquery-ui gems правильно. Ничего не изменилось.
Я пробовал почту, это не помогло. Я не имел в виду, что я вижу запросы GET для этого конкретного действия. Я имел в виду, что страница получает визуализацию снова все время, делая запросы GET на изображения, таблицы стилей и т. Д. Я вижу, что запрос на создание - это сообщение. он просто не использует AJAX – Kkulikovskis
есть ли "#cart" div присутствует на странице? – sunil