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
Leave a Reply