Migrując z tableless na Activemodel i korzystając z ręcznej polonizacji poprzez:
def self.human_attribute_name(attr)
HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end
napotkamy na taki oto błąd, kiedy będziemy chcieli wyświetlić błędy powalidacyjne:
wrong number of arguments (2 for 1)
Nie wiem czemu tak jest, ale wiem jak temu zaradzić ;) Wysyłamy self.human_attribute_name do lamusa.
Zamiast tego, korzystamy z include ActiveModel::Translation dla naszego modelu, po czym jak gdyby nigdy nic, dopinamy Activemodel identycznie jak Activerecord:
activemodel:
errors:
template:
body: "Wystąpił problem w następujących polach:"
header:
one: "Jeden błąd uniemożliwił przesłanie formularza:"
other: "Następujące błędy uniemożliwiły przesłanie formularza:"
messages:
too_long: jest za długi/a (maksymalnie {{count}} znaków)
too_short: jest za krótki/a (minimum {{count}} znaki/ów)
attributes:
dir_creator: *attributes