我正在開發一個rails 4應用程序,我有兩個模型開發人員和應用程序。開發人員可以擁有許多應用程序並且屬於許多應用程序(一個應用程序的多個開發人員)我已成功設置加入表格,並且一切正常,但我想擴展此範圍,以便開發人員可以是:創建者,他可以訪問編輯應用程序或只能訪問視圖的協作者應用程序。任何關於儘可能好的建議都是爲了實現這一功能?Rails模型設置角色
應用
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'
你怎麼定義'通過的has_many through'或'has_and_belongs_to_many'上'App'和'Developer'關係? – j03w
@ j03w我更新了我的問題 – ny95
您有2個選擇 1.創建一個類似於@zolter答案建議的新表,並且使用'has_many through'而不是'hbtm'在'edit'和'update'方法中有一些檢查在你的控制器中。 2.修改你的'hbtm'成爲一個合適的模型表:添加遷移創建時間戳列http://stackoverflow.com/questions/7542976/add-timestamps-to-an-existing-table並添加'角色'列到桌上也是如此。然後在'models'中創建'model'文件 – j03w