Я работаю над рельсами 4 приложения, и у меня есть две модели разработчиков и приложений. Разработчик может иметь множество приложений и относится ко многим приложениям. (Несколько разработчиков для приложения). Я успешно установил таблицу соединений, и все работает, но я хочу расширить ее, чтобы разработчик был либо основоположником, где у него может быть доступ к редактированию приложения или коллаборациониста, у которого есть доступ к просмотру приложение. Любые предложения по наилучшим возможностям заключались в достижении этой функциональности?Rails Model Setup Роли
App
has_and_belongs_to_many :collaborators, class_name: 'Developer', association_foreign_key: :collaborator_id
has_and_belongs_to_many :founders, class_name: 'Developer', association_foreign_key: :founder_id
Разработчик
has_and_belongs_to_many :apps, foreign_key: 'collaborator_id'
has_and_belongs_to_many :apps, foreign_key: 'founder_id'
как вы определяли отношения на 'App' и' 'Developer' через has_many through' или' has_and_belongs_to_many'? – j03w
@ j03w i обновил свой вопрос – ny95
У вас есть 2 варианта 1. Создайте новую таблицу, подобную тому, что предложил @zolter, и используйте 'has_many through' вместо' hbtm', чтобы проверить некоторые методы 'edit' и' update' в вашем контроллере. 2. измените свой 'hbtm', чтобы стать подходящей таблицей модели: добавьте перемещение, чтобы создать столбцы с метками времени http://stackoverflow.com/questions/7542976/add-timestamps-to-an-existing-table и добавить столбец' role' к столу. Затем создайте файл 'model' в своих' моделях' – j03w