Какое значение считывает rails для полей, оставшихся пустыми при заполнении формы начальной загрузки?
В форме запрашивается период, в течение которого человек работал. Период хранится в виде строки. Речь идет об опыте работы и жизни, поэтому должна быть возможность сказать «не указано». (Предыдущее решение разработчика решить эту проблему таким образом.)
Недавно было решено, что нам нужно отсортировать трудовой и жизненный опыт людей в зависимости от того, когда они закончили свою работу. Для этого я добавил столбец end_date
и добавил эту строку в печать.
<% @profile.traits.order('end_date DESC NULLS FIRST').each do |trait| %>
Похоже, это работает не так, как ожидалось. Кажется, что когда указаны дата начала и дата окончания, они упорядочены, как и ожидалось. Однако, если дата окончания не указана, она оказывается внизу списка, а не вверху, ЕСЛИ запись не была создана до добавления столбца end_date
. Таким образом, порядок становится старыми записями, новыми записями с датой окончания и, наконец, новыми записями без даты окончания.
Из-за этого я подозреваю, что старые записи получают значение NULL при добавлении нового столбца. Но я понятия не имею, какое значение сохраняется, когда поле в форме остается пустым, поскольку оно не похоже на NULL? И есть ли способ указать, чтобы они располагались вверху, а не внизу?
Извините, если я сформулировал это плохо, но я действительно хочу знать, что хранится в базе данных в столбце "end_date", когда я оставляю это поле в форме пустым!
Почему бы просто не посмотреть запись и не увидеть?
Потому что я, видимо, забыл, что ты можешь даже это сделать ... плохо. Он сохраняет пустую строку "", когда поле остается пустым.
Riiiiiiighteoooooo! Отличная работа.
Похоже, ваш вопрос похож на что-то вроде «Как мне отсортировать записи, чтобы ...», а не «Какое значение сохраняется, когда ...» FWIW, вы можете подумать об изменении заголовка вашего вопроса и помещении вашего вопроса действительный рядом вверху, чтобы помочь людям определить, могут ли они вам помочь.