Несколько пользовательских ролей в Ruby on Rails

Я создаю приложение для управления запасами с четырьмя разными типами пользователей: администратор, сотрудник, производитель, перевозчик. Я еще не начал кодировать, но вот о чем я думаю ... Производители и перевозчики связаны с has_many: через ассоциацию "многие ко многим" с продуктами следующим образом:

class Manufacturer < ActiveRecord::Base
 has_many :products
 has_many :transporters, :through => :products
end

class Product < ActiveRecord::Base
 belongs_to :manufacturer
 belongs_to :transporter
end

class Transporter < ActiveRecord::Base
 has_many :products
 has_many :manufacturers, :through => :products
end

Все четыре типа пользователей смогут войти в систему , но у них будут разные разрешения и представления и т. д. Я не думаю, что могу поместить их в одну таблицу (Пользователи), однако, потому что у них будут разные требования, то есть: поставщики и производители должны иметь адрес для выставления счетов и контакт info (через проверки), но администраторы и сотрудники не должны иметь этих полей.

Если возможно, я хотел бы иметь один экран входа в систему вместо четырех разных экранов.

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

8
задан aguynamedloren 29 December 2010 в 04:25
поделиться