Какая разница между помощником контроллера и проблемой?

Будет ли помогать мне делиться логикой для частичных? Я вижу, что у Rails 4 есть папка "проблем" для контроллеров, но она пуста при создании приложений.

DHH написал блог о проблемах (но я думаю, что они для модели): http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns

Я был бы признателен за краткий пример.

Ответы

Ответ 1

Концерны - это модули, которые, например, смешиваются с контроллерами или классами моделей. Сообщение DHH сосредоточено на моделях, но то же самое касается контроллеров. Это помогает сгладить классы моделей или контроллеров и упрощает повторное использование общего кода для нескольких классов.

Помощники предназначены для коротких ориентированных на презентацию методов, которые вы хотите вызвать из своих представлений или, может быть, изредка из ваших контроллеров.

Ответ 2

Проще говоря:

Помощники содержат методы, которые будут использоваться в представлениях.

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

Это просто папка с кодом, которую вы могли бы поместить в другое место, если хотите. Мы используем причудливые термины, такие как проблемы, чтобы получать больше.