2016-06-10 2 views
0

Когда я называю test_function, puts user.update :last_search_at => Time.current всегда возвращается false хотя третье puts значение правильно: 2016-06-10 20:40:33 UTC. user.save никогда не работает, и сначала puts всегда ничего не возвращает.user.update: last_search_at => Time.current всегда возвращается значение False

def test_function 
    puts user.last_search_at 
    puts user.update :last_search_at => Time.current 
    puts user.last_search_at 
    user.save 
end 

Буду признателен за ваши мысли. Спасибо за прочтение!

ответ

0

Основная причина, по которой обновление может завершиться неудачей, заключается в том, что запись недействительна.

Распечатайте список ошибок после обновления

p user.update :last_search_at => Time.current 
p user.error.full_messages 

и убедитесь, что запись является действительной.

+0

Спасибо за ваш быстрый ответ! Какая глупая ошибка: «Электронная почта не может быть пустым» «... В любом случае, я не могу установить адрес электронной почты как nullable:« рельсы генерируют миграцию change_column_null: users,: email, true; rake db: migrate; '. schema.rb никогда не меняется. Есть предположения? –

+0

Решенный! Это было из-за Девиза. Я использовал это: http://stackoverflow.com/a/27723647/488019 –

Смежные вопросы