2010-05-18 5 views
0

В Rails, нормально ли определять логику в контроллере с моделью. Например, возьмите модель пользователя, которая является хорошим дизайном.Rails Controller

1) Оставляя UserModel с моделями CRUD и перемещения всех других пользователей Конкретные действия в отдельный контроллер или
2) Добавьте пользователя конкретные действия, к тому же UserModels

Спасибо :)

ответ

2

Я предпочел бы следующим подход

создание отдельной модели пользователя в другом пространстве имен, как бизнес (для представления бизнеса логина) и он будет иметь всю бизнес-логику и там будет отдельная модель пользователя, которая вытекает из ActiveRecord

пример будет

класс Бизнес :: пользователь

#inside все это пользователь бизнес-логика идет

# Вы, возможно, потребуются пользователь модель (ORM) в случае необходимости, как находят действия

конца

и мой контроллер будет взаимодействовать с бизнесом :: Пользователь и этот класс будет взаимодействовать с пользователем (ОРМ) классом для действий базы данных

< класс User ActiveRecord :: Base

конец

этим способом вы можете разделить свой бизнес логин и ОРМ. в любом случае вы должны держать свои контроллеры тонкими, предоставляя больше обработки вашим моделям

ура, sameera

3

Жирные модели, тонкие контроллеры. Если это что-то, что делается на основе атрибутов модели или атрибутов модели плюс несколько аргументов, оно идет в Модели. Если это нечто более сложное, оно, вероятно, по-прежнему относится к модели, а не к той, которая является ActiveRecord :: Base.