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
はその後、モデル間のテーブルを結合作成する必要があります。あなたはまた、編集権限を持つべきユーザーのためのテーブルを生成することができます
create_table :users_playlists, :id => false do |t|
t.integer :user_id, :playlist_id
end
//編集
:
は、プレイリストにこれを追加します。
重要明示的にあるが、このようにIDを除外します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