Так, є спосіб зробити це без плагіна! Але це не так чисто і елегантно, як використання згаданого плагіна. Ось.
Якщо припустити, що це Rails 3 (я не знаю, чи відрізняється в попередніх версіях),
зберігайте це у своїй моделі:
validates_presence_of :song_rep_xyz, :message => "can't be empty"
і на вигляд, замість того, щоб виходити
@instance.errors.full_messages
як це було б, коли ми використовуємо генератор ешафотів, поставте:
@instance.errors.first[1]
І ви отримаєте просто повідомлення, яке ви вказали в моделі, без імені атрибута.
Пояснення:
#returns an hash of messages, one element foreach field error, in this particular case would be just one element in the hash:
@instance.errors # => {:song_rep_xyz=>"can't be empty"}
#this returns the first element of the hash as an array like [:key,"value"]
@instance.errors.first # => [:song_rep_xyz, "can't be empty"]
#by doing the following, you are telling ruby to take just the second element of that array, which is the message.
@instance.errors.first[1]
Поки ми відображаємо лише одне повідомлення, завжди за першу помилку. Якщо ви хочете відобразити всі помилки, ви можете зафіксувати хеш і показати значення.
Сподіваюся, що це допомогло.