Да тут дело скорей не в том что сложно, но зачем, если есть полуавтоматические средства? А ручками все потом надо подкрутить и радоваться, что генераторы избавили от ненужной рутины :)
Меня что-то смущает эта сторчка. Деловая логика вроде бы должна в большинстве своём содержаться в модели, а интерфейс (если вы имеете в виду интерфейс пользователя) — в представлении.
бизнес-логика всегда в контроллере, что вас смущает? Работа с данными в модели. Интерфейс наверное имелся ввиду не пользовательский, а интерфейс доступа к данным, я так понимаю.
Бизнес-логика в контроллере — это в корне неверный подход. Разделение: модель — данные, контроллер — логика работы с ними — это заблуждение, сформированное некоторыми туториалами по популярным фреймворкам, в которых такое разделение введено только лишь для простоты объяснения механизма MVC. На самом деле вся бизнес-логика должна размещаться в слое домена (то есть предметной области). Именно объектами этого слоя и манипулируют контроллеры, выполняя второстепенные сервисные действия, такие как создание, поиск и удаление объектов домена, авторизация и проверка данных (это спорно, очень многие относят это тоже к домену). Вообще, чем меньше кода в контроллерах тем лучше. Вся логика должны быть в объектах предметной области. Именно этот слой должен взаимодействовать с моделью данных путём делегирования либо, вообще, сливаться с ней полностью или частично, объединяя логику и механизмы персистивности (Active record).
О чём именно? Если о том как работать с бизнес-логикой то есть отличная книжка Eric Evans Domain-Driven Design. Наверное, в ней не со всем можно согласиться, но читается она очень интересно.
Сейчас времени маловато… :( Если и буду писать, то в рамках серии капель о Руби или что-то вроде отдельных кусочков инфы о Rails, потому что разжевывать все с нуля получается с трудом :( Вобщем, если поддержите и настоите на продолжении — то, возьмусь снова ;)
Моя мама говорит, что любое дело надо доводить до конца :) Я Вас морально поддерживаю и даже смог бы предложить посильную помощь. Например, соавторство.
Ruby on Rails шаг за шагом. #3 Контроллер и Вид