1
我有播放列表,用戶和歌曲模型。一首歌可以放在任意數量的播放列表中,播放列表可以在用戶之間共享,但也可以有多個有權修改它們的「所有者」。用ActiveRecord對此進行建模的最佳方式是什麼?Rails:播放列表和用戶之間的關聯
我有播放列表,用戶和歌曲模型。一首歌可以放在任意數量的播放列表中,播放列表可以在用戶之間共享,但也可以有多個有權修改它們的「所有者」。用ActiveRecord對此進行建模的最佳方式是什麼?Rails:播放列表和用戶之間的關聯
用戶:
has_and_belongs_to_many :playlists
播放列表:
has_and_belongs_to_many :users
has_and_belongs_to_many :songs
宋:
has_and_belongs_to_many :playlists
然後,你需要創建加入模型之間的表。重要的是要明確排除這樣的ID:
create_table :users_playlists, :id => false do |t|
t.integer :user_id, :playlist_id
end
//編輯
您還可以生成一個表中應該有編輯權限的用戶:
一下添加到播放列表:
has_and_belongs_to_many :editor_users, :class_name => 'User', :foreign_key => 'user_id'
這給用戶:
has_and_belongs_to_many :editable_playlists, :class_name => 'Playlist', :foreign_key => 'playlist_id'
這看起來像我現在擁有的東西,但是,如何指定誰將被允許修改播放列表?播放列表對於無權更改的用戶應該是隻讀的。 – Johan
更新後,應該是這樣的話 – davidb