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