Я пытаюсь создать пользовательский form_for
, где я проверяю, существует ли запись в таблице или нет. Я провел тонны исследований, но не нашел ничего полезного.
Мой текущий подход заключается в создании простой формы поиска и отображении всех похожих записей. Однако это не то, что я ищу. Идеальный сценарий:
- Получить имя записи из
form_for
- Проверить, присутствует ли эта запись
- Если присутствует - перенаправить на одну страницу. Если нет - перенаправить на другую страницу
Мой контроллер:
def validate_name
@room = Room.new
name = params[:name]
if name != nil
puts "Redirect to page A"
else
puts "Redirect to page B"
end
end
Проблема здесь в том, что всякий раз, когда пользователь заходит на страницу, он автоматически запускает приведенный выше код. Моя цель - создать проверку формы, которая пытается найти точную запись и затем перенаправить на основе условия if else
.
Текущий form_for
:
= form_for(Room.new, url: name_room_path, method: :get, action: :validate_name) do |f|
= f.text_field :name
= f.submit
Я уверен, что мой Форма тоже неверна, потому что я заблудился. Я нашел способы создания пользовательских форм, но не могу понять, как вызвать проверку базы данных на основе ввода пользователя.
PS: это не действия new
или update
.
Спасибо за вашу помощь и время.