2015-04-28 16 views
1

Когда я пытаюсь добавить товар в корзину, он работает, но никто не видит его напрямую, потому что страница не перезагружается. Как я могу это исправить?Как перезагрузить страницу после действия: создать?

Вот мой order_item_controller:

class OrderItemsController < ApplicationController 

    def create 
    @order = current_order 
    @order_item = @order.order_items.new(order_item_params) 
    @order.save 
    session[:order_id] = @order.id 
    end 

и мой вид/продукт, с form_for:

<%= form_for order_item, remote: true do |f| %> 
     <%= product.firstdescription %> 
     <p class="bonus1">-Durée du cours : <%= product.duration %> minutes</p> 
     <p class="bonus">-<%= product.info %> 
     <p class="bonus">-En préparation</br> 
     <div class="talent"> 
     <%= f.hidden_field :quantity, value: 1, class: "form-control", min: 1, max: 1 %> 
     <%= f.hidden_field :product_id, value: product.id %> 
     <div class="on_precommand"> 
     <p id="old_price"> 
      <del><%= currency_euro product.old_price %></del> 
     </p> 
     <p><%= currency_euro product.price %></p></br> 
     <%= product.tournage %></br> 
     </div> 
     <%= f.submit "Pré-commander", class: "addtocart" %> 
    <% end %> 
+2

Почему вы перезагрузки всей страницы, когда вы можете просто изменить DOM на букву 'AJAX: success' события ? – sjagr

ответ

2

Все, что вам нужно сделать, это просто редирект, добавьте эту строку в конце действия

redirect_to @order 

Это перенаправит действие шоу нового порядка.

EDIT:

Просто заметил, что вы делаете remote: true запрос, так что вместо этого вам нужно создать шаблон JS create.js.erb, например, и добавить JavaScript, который вы хотите быть выполнены, чтобы добавить созданный порядок в представлении, вот пример:

$('#orders').append('<%= j(render @order) %>') 

Из coruse это в предположении, что заказы ДИВ это имеет идентификатор #orders

+0

спасибо, но у меня не было никаких результатов с этой техникой –

+0

Я надеялся отложить свое изучение JS ... спасибо, ребята, –

+0

попробуйте, и если вам нужна помощь, ответьте мне. –

Смежные вопросы