Я создаю приложение для управления запасами с четырьмя разными типами пользователей: администратор, сотрудник, производитель, перевозчик. Я еще не начал кодировать, но вот о чем я думаю ... Производители и перевозчики связаны с 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 (через проверки), но администраторы и сотрудники не должны иметь этих полей.
Если возможно, я хотел бы иметь один экран входа в систему вместо четырех разных экранов.
Я не запрашиваю точный код для создания этого, но у меня возникают проблемы с определением наилучшего способа сделать это. Мы будем очень благодарны за любые идеи - спасибо!