Форум программистов, компьютерный форум, киберфорум
Ruby on Rails
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
11 / 11 / 1
Регистрация: 14.07.2014
Сообщений: 186
1

Сообщение пользователю, перед внесением в БД

04.08.2016, 11:22. Показов 1149. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, имеется к заданию такой вопрос..
..требуется вносить сведения в БД, проверять поле :number на совпадение,
в случае совпадения - выводить сообщение подобное:
Rails
1
data: {:confirm => "Вот такое сообщение"}
в случае утвердительного ответа, вносить изменения в запись с полем :number
в случае отрицательного ответа всё отрицать..

вопрос именно в формировании этого самого сообщения..
я пока придумал так, в контроллере в методе create проверяю вновь создаваемую запись на наличие совпадения
этого самого :name
Ruby
1
2
3
4
5
6
7
8
9
10
    def create
        @fmirror = Fmirror.new(parFmirror)
        
        if Fmirror.where(number: @fmirror.number).exists?
            #вот здесь хотелось бы это сообщение
        else
            @fmirror.save
        end
 
    end
Помогите плиз, думаю надо рыть в js но пока не понимаю каким образом..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2016, 11:22
Ответы с готовыми решениями:

Ошибка с внесением заказа и переносимостью
Сам проект выполнен в Delphi 201+ADO+MS Access Куратор нашел ошибки в программе, а именно:...

Затруднение с внесением данных через форму в БД
Всем, привет! Изучаю php самостоятельно и вот столкнулся с такой проблемой. При отправке данных и...

Открытие файлов из папки с внесением изменений
Добрый день! Есть один файл, в котором должен быть макрос, открывающий другие файлы и вносящий в...

Проблемы с внесением изменений в базу данных.
Вот такой простой код: Public Class WebForm1 Inherits System.Web.UI.Page Protected...

2
the hardway first
Эксперт JS
2461 / 1836 / 906
Регистрация: 05.06.2015
Сообщений: 3,603
04.08.2016, 21:56 2
А что в js рыть? Надо сначала обдумать сценарий.
Вам в любом случае надо создать валидацию на уникальность этого поля :number, уникальный индекс в базе - я так понимаю что не может быть нескольких записей с одним номером.

При создании проверять - если нет такого номера, то просто создаем новую запись. А вот если есть, то вам уже надо изменить действие с создания на редактирование существующей записи.

Почитайте про find_or_initialize_by, find_or_create_by, first_or_create, first_or_initilize_by. В контроллере можно проверить запись с помощью метода new_record? например, и отправить пользователя на редактирование записи. А что если пользователь действительно ошибся в номере? Может еще и показывать существующую запись? И что, будет две кнопки: изменить существующую и создать новую запись?

А если будет несколько пользователей которые могут создавать и редактировать? А как усложнится такой сценарий если еще и включить оптимистичную блокировку?

Надо сначала подробно обдумать сценарий...

Добавлено через 2 часа 30 минут
Ну или создавать такое через поиск, как вам уже предлагали, кстати.
Пусть это будет аякс или пошаговый мастер создания записи когда пользователь вводит номер и система сообщает: "Смотри! А я нашел такое уже. Изменить?"

То что вы предлагаете похоже на поведение ОС, когда сохраняешь файл перезаписыванием старого и система спрашивает: "Вы точно хотите перезаписать?". ИМХО, не самое лучшее решение.
1
11 / 11 / 1
Регистрация: 14.07.2014
Сообщений: 186
05.08.2016, 08:24  [ТС] 3
j2FunOnly, смысл такой что при внесении каждой новой записи с уже имеющемся в базе :number, система спрашивала: "Запись уже есть, хотите продолжить?" и в случае положительного ответа в другом поле уже имеющейся записи проходила итерация количества внесений..
Цитата Сообщение от j2FunOnly Посмотреть сообщение
Пусть это будет аякс или пошаговый мастер создания записи когда пользователь вводит номер и система сообщает: "Смотри! А я нашел такое уже. Изменить?"
попробую так, может сработать, сенк!!
0
05.08.2016, 08:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.08.2016, 08:24
Помогаю со студенческими работами здесь

Возникла проблема с внесением данных в таблицу
Здравствуйте, столкнулся с такой проблемой при внесении новой записи в таблицу заполняются все поля...

Выполнение запроса с внесением его в список
Добрый день! У меня такая проблема, есть база с большим количеством строк, и созданы запросы на...

Проверка записей в базе с последующим внесением данных
Доброго времени суток. При регистрации нового пользователя нужно проверить введеные данные из...

Запустить файл реестра и согласиться с внесением изменений в реестр
Необходимо из bat-скрипта запустить файл реестра, после чего с помощью этого же скрипта согласиться...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru