В вашем случае, я думаю, проблема в том, что вы используете e.preventDefault()
при отправке, но вы не заменили эту форму новым контентом.Таким образом, эта форма останется в статусе отправки.
Поскольку вы используете Rails 5.2, я рекомендую использовать form_with
вместо jQuery ajax.По умолчанию это как ajax-запрос в Rails, и вам просто нужно отрендерить частичку, которую вы хотите, в create.js.erb
.
Это будет примерно так:
orders/_form.erb
<%= form_with model: Order.new, url: orders_path do |f| %>
<%= f.submit %>
И ваш create.js.erb
let orderForm = "<%= j(render('orders/form')) >";
$('#new_order').html(orderForm);
$('#order_address').val("")
$('order_special_instructions').val("")
let order = "<%= j(render('orders/order')) >"
$('#orders').append(order)
И не забудьте включить rails-ujs в свой конвейер ресурсов или импортировать его, если вы используете webpacker.