В моем приложении Rails, у меня есть следующие ассоциации:«Скажи, не спрашивай» при сохранении разделения проблем
- Видео принадлежит Жанр(Видео не должны иметь жанр)
- Жанр имеет много Видео(Жанр не может иметь видео)
В модели видео у меня есть следующий метод.
# models/video.rb
def genre_name
genre.present? ? genre.name : ''
end
Это, чтобы избежать чего-то вроде этого в представлении (который только кажется грязным):
# views/videos/show.html.erb
<% if @video.genre.present? %>
<%= @video.genre.name %>
<% else %>
No Genre Present
<% end %>
Вместо этого, я могу это сделать (что выглядит намного опрятнее)
# views/videos/show.html.erb
<%= @video.genre_name %>
Однако, он не чувствует себя правильно, спрашивая информацию о жанре в видеомодее. Каков наилучший способ организовать этот код? Должен ли я использовать помощников вместо этого?
Мне это нравится, поскольку он удаляет метод genre_name из видеомодуля. –
Пойти с этим методом. :) благодаря –