Регистрация DevCane для пользователей и компаний - PullRequest
0 голосов
/ 21 февраля 2012

В приложении Rails 3 у меня есть 2 логических объекта - Пользователь и Компания.Я хотел бы иметь 2 разные формы для регистрации (для пользователей и для компаний).Кроме того, было бы здорово иметь одну форму входа для них обоих.

Что у меня сейчас есть - настроен Devise + Cancan для модели User с двумя ролями (пользователь, компания), поэтому у меня сейчас "/ users /sign_in "и" /users/sign_up".

Мне бы хотелось, чтобы в моем приложении были следующие URL:

/login
/users/signup
/companies/signup

Еще один вопрос - как организовать отношения между пользователем и компанией,Должна ли компания, унаследованная от Пользователя, или я должен использовать агрегацию - Пользователь has_one Company?Я предпочитаю второй вариант и планирую использовать user.company с cancan user role = "company".

Пожалуйста, помогите мне с этим.Благодаря.

1 Ответ

1 голос
/ 21 февраля 2012

Вы можете иметь несколько моделей в разработке. Вы также можете добавить компанию.

rails generate devise company

Это даст вам URL, который вы упомянули.

Относительно отношений между Пользователем и Компанией. Обычно используют:

class User < ActiveRecord::Base
  belongs_to :company
end

class Company < ActiveRecord::Base
  has_many :users
end

Вы должны добавить столбец company_id к модели User в миграции, чтобы это произошло. Тогда нет наследства. Пользователи и компании рассматриваются совершенно раздельно. Но вы можете получить доступ к user.company и company.users.

...