Где разместить сложную логику отображения для модели Rails? - PullRequest
0 голосов
/ 11 сентября 2011

У меня есть метод Location#description, который возвращает ( действительно ) длинную строку. Эта строка представляет собой удобочитаемое описание и генерируется в соответствии со значениями атрибутов Location. Однако этот код является длинным и сложным, и в моей модели заложено много логики «не для бизнеса».

Что лучше всего сделать? Объединить всю эту логику в помощники или создать класс LocationPresenter? Если я создаю докладчика, каковы рекомендации по этому поводу? Должен ли я инициализировать его с Location или можно использовать хэш атрибутов?

1 Ответ

0 голосов
/ 11 сентября 2011

Рассмотрите возможность рефакторинга его в модуль и включения его в соответствующую модель - это если в нем есть какие-либо компоненты бизнес-логики. Также посмотрите на helper_methods (которые работают как на уровне контроллера, так и на уровне представления), если нет, то в качестве помощников могут быть добавлены только макросы.

Тот факт, что вы назвали его «сложным» и осознали необходимость его выхода из своей модели, заставляет меня задуматься, может ли это быть связано с некоторым рефакторингом, более близким к парадигме RailC MVC.

...