複数のモデルに適用される場合の、多くの所有者と所有者について質問があります。複数のモデルを持つ habtm について他にもいくつかの同様の質問を見てきましたが、このようなものはありません (通常、3 つではなく 2 つのモデルに適用されます)。
次のクラスがあるとします。
- 学生
- クラブ
- 部屋
学生はクラブに所属する - 学生は複数のクラブに参加でき、クラブには複数の学生がいます。
Rooms habtm Clubs -- ルームにはそれを使用する複数のクラブがあり、クラブは複数のルームを使用する場合があります。
学生と部屋の間に直接的な関係はありません。
同じクラス (Club クラス) で 2 つの habtm リレーションシップを使用しても問題はありませんが、見逃している微妙な点があるかもしれません。
class Student < ActiveRecord::Base
has_and_belongs_to_many :clubs
end
class Clubs < ActiveRecord::Base
has_and_belongs_to_many :students
has_and_belongs_to_many :rooms
end
class Rooms < ActiveRecord::Base
has_and_belongs_to_many :clubs
end
そのような場合、関係の一方または両方で :through を使用することもできると思います。
- 既知の問題はありますか?
- 私が考えていない代わりに使用すべきRailsのパターンはありますか?