Имам потребители и групи.
Users has_many :groups, :through => Membership
Groups has_many :users, :through => Membership
Добре засега. Членството вече има булево поле, manager
.
Потребителите могат да бъдат мениджъри на групи и групите могат да имат повече от един мениджър. Навсякъде в сайта това работи добре и не създава проблеми. Сега те трябва да управляват това по някакъв начин. Използвам Active Admin (Formtastic) и имам представени полета :as => :check_boxes
.
Потребителите харесват квадратчетата за отметка. Те искат да поставя второ квадратче за отметка до това, което превключва дали даден потребител е в група, за да определи дали потребителят е мениджър на тази група.
Как мога да направя това? Опитах да използвам системата f.has_many
, но това създава един запис за всяко съществуващо членство, не предоставя начин за изтриване на членства и не е това, което потребителите искат. Искам да покажа ВСЕКИ потребител, да покажа квадратче за отметка, за да определя дали съществува членство за това сдвояване, и да покажа друго квадратче за отметка до него за стойността на полето на мениджъра.