У меня есть очень простая форма, которая отлично работает, пока я не попытаюсь отправить ее повторно. После чего он обновляет запись вместо создания новой:
На мой взгляд, у меня это:
#new_order_form
= render 'form'
И моя форма частичная:
= semantic_form_for [@location, @order], :remote => true do |f|
-if @order.errors.any?
#notice{:class=>'alert alert-block alert-error fade in'}
%a{:class=>"close", :data=>{:dismiss=>"alert", :href=>"#"}}
x
%h3
= pluralize(@order.errors.count, "error")
- @order.errors.full_messages.each do |msg|
= msg
%br
%table{:class => 'table table-bordered', :style=> {width: '50%'}}
%tr
%td= f.text_field :product_order_id, :placeholder => "Order ID"
И в моем create.js:
$("#new_order_form").html("<%= escape_javascript(render("form")) %>");
Это отлично работает для создания заказа и отображает ошибки, если они существуют.
Проблема в следующем: если я ввожу другой номер заказа, не обновляя страницу, он обновляет ранее созданную запись, а не создает новую.
Глядя на код формы, я вижу, что действие отправки заменено обновлением.
Я попытался заменить код на это:
= semantic_form_for [@location, @order], :remote => true do |f|
#new_order_form
= render 'form', :f => f
И это в create.js
$("#new_order_form").html("<%= escape_javascript(render :partial => 'form', :locals => {:f => @order}) %>");
Что тоже не работает и жалуется на недопустимое text_field.
Как лучше всего это сделать? Спасибо