Термин «помощник» может сбивать с толку.Если вы используете генераторы rails, вы получите файл в каталоге app/helpers
с именем <model>s_helper.rb
.Здесь вы можете определить методы, которые непосредственно доступны в ваших шаблонах представления.Например, вы можете определить метод с именем pronoun
на основе значения, хранящегося в поле gender
вашей пользовательской модели, например
def pronoun(user)
case user.gender
when "M"
"his"
when "F"
"her"
else
"their"
end
end
, поэтому в представлении, ссылающемся на некоторого пользователя, вы можете сделать1008 *
<%= @user.name %> got <%= pronoun(@user) %> ice cream in <%= @user.city %>.
Конечно, вы можете делать то же самое в модели , и часто это лучшее место для написания помощников.Например, логика, определяющая статус пользователя, может быть
def status_name
if created_at > 30.days.ago
"old timer"
else
"noob"
end
Тогда, где бы вы ни ссылались на экземпляр пользовательской модели, вы можете вызывать @user.status_name
Как правило, методы модели меньшео представлении и больше о логике.