Есть форма, после принятия которой, идет перенаправление на путь названия модели/контроллера, которое мне не нужно(перенаправление). Форма находится на главной, в БД все отправляет, только нужно сделать так, что-бы перенаправления не было, и при изменении Order.count выполнялся jquery код, а страница не перезагружаться. То, что имеем:
1. Форма. Не думаю, что пригодится для решения проблемы. Просто форма с двумя текстовыми полями и кнопка.
2. Контроллер, который является и рутом и создает новый Order
class OrdersController < ApplicationController
def mainp
end
def help
end
def list
@order = Order.all
end
def new
@order=Order.new
end
def create
@order = Order.new(order_params)
if @order.save
#
else
#
end
end
def order_params
params.require(:order).permit(:name, :phone)
end
end
3. Файлы миграции
class CreateOrders < ActiveRecord::Migration
def change
create_table :orders do |t|
t.string :name
t.string :phone
t.timestamps null: false
end
end
end
+
class AddIndexToOrdersPhone < ActiveRecord::Migration
def change
add_index :orders, :phone, unique: false
end
end
4. И собственно jqery код, который должен исполняться, если Order.count поменялся
$(document).ready(function(){
$("#success-b").on("click", function(){
if (/*<%= assert_difference 'Order.count'*/) {
console.log("1")
} else {
console.log("2")
}
})
})
Все примеры приблизительны и далеки от продакшена. Грубо говоря, если бы был универсальный ЯП, нужно сделать так, что-бы
def create
@order = Order.new(order_params)
if @order.save
"JQUERY CODE" без перезагрузки страницы
else
#
end
end