2016-03-08 2 views
3

У меня есть обычный обычный класс Ruby (PORO), который очень похож на модель ActiveRecord, хотя он не сохраняется в базе данных.Rails 4: тип I18n ActiveRecord в объекте без ActiveRecord?

Чтобы сделать интернационализацию (I18n) максимально безболезненной, я хотел бы также использовать методы SomeModel.model_name.human и SomeModel.human_attribute_name(:attribute) на этом ПОРО.

Какой модуль мне нужно включить, чтобы включить выше методы на мой PORO?

ответ

4

Расширьте класс с ActiveModel::Translation модуля:

class Widget 
    extend ActiveModel::Translation 
end 

Widget.model_name.human 
=> "Widget" 

Widget.human_attribute_name :my_attribute 
=> "My attribute" 
Смежные вопросы