Чтение с rails guide говорит, что для изменения основного сообщения об ошибке вы можете добавить, какая ваша новая база к массиву ошибок. По каким-то причинам сделать это в результате двух сообщений об ошибках, а один и даже не делать то, что я ожидал, это то, что я в моем кодерельсы формируют базовые сообщения об ошибках
validates :tawme, :start_date, presence: true
def tawme
errors[:base] << "Buyaka!"
end
Однако, когда появляется сообщение об ошибке на форме я получаю
The form contains 2 errors
Buyaka!
Start date can't be blank
Я ожидал, что "Start date"
будет заменен на "Buyaka!"
, так как это новая база.
правильно, вы не ЗАМЕНА начала массива с новым пользовательским сообщением :-) – tawheed
Нет вы добавляетесь к нему. Если у вас есть pry, что вам нужно, и вставил перед блоком проверки с вызовом bind.pry, вы можете ввести ошибки в командную строку, возвращая хэш, который имеет массив [: base] и [: start_date]. Вы можете добавить к нему материал. Попробуйте ввести ошибки [: base] << «Привет.». а затем снова отобразится. Затем вы будете иметь рядом с собой «Buyaka» и «Hello there». – ovatsug25
Ruby doc по методу '<<'. http://ruby-doc.org/core-2.0/Array.html#method-i-3C-3C – ovatsug25