Running with Ruby

Tag: i18n (page 2 of 2)

Rails 3 + The {{key}} interpolation syntax in I18n messages is deprecated.

Tak jak w poprzednim poście, tak i w tym zajmiemy się zamianą z wykorzystaniem wyrażeń regularnych.

W plikach językowych aplikacji, nie można już używać wersji “{{klucz}}“, tylko “%{klucz}“.

Poniżej prezentuję wyrażenie regularne do Netbeansów, które zamieni nam wszystkie wystąpienia za jednym zamachem:

Containing text: \{\{(.+)\}\}
Replace With: %\{$1\}

Rails 3 + error_messages_for wrong number of arguments (2 for 1)

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
Newerposts

Copyright © 2020 Running with Ruby

Theme by Anders NorenUp ↑