Skapa en fil i mappen lib med namnet overrides.rb och stoppa in följande:
ActiveRecord::Errors.class_eval do default_error_messages.update({ :inclusion => " finns inte med i listan", :exclusion => " är reserverat", :invalid => " är ogiltigt", :confirmation => " matchar inte konfirmationen", :accepted => " måste godtas", :empty => " får inte vara tomt", :blank => " får inte vara blankt", :too_long => " är för lång (max är %d tecken)", :too_short => " är för kort(min är %d tecken)", :wrong_length => " har fel längd (borde vara %d tecken lång)", :taken => " är redan tagen", :not_a_number => " är inte ett nummer", }) end
Öppna därefter
config/environment.rb och lägg till detta längst ner:
require 'overrides'
Utöver det så kommer det nu stå, ifall dina databaskolumner är på engelska, “<Columnnamn> får inte vara blankt” och för det så anser jag (ba) att pluginen error_messages_for är superbt, då man kan översätta “headern” samt “sub headern” på ett felmeddelandefält.
Svenska attributnamn
Vill du ha attributnamnen på svenska så är detta en rätt smidig lösning. Lägg till detta i din modell:
def self.human_attribute_name(attribute_key_name)
humanized_attributes = {
:name => "Namnet",
:email => "Email-adressen",
:firstname => "Förnamnet",
:lastname => "Efternamnet"
}
humanized_attributes[attribute_key_name.to_sym] || attribute_key_name.humanize
end