0
私は迷路のプロジェクトで作業しており、皮肉なことに、私は迷ってしまった。これまでのところ、私はモデル間でhas_many_though関係がかなり新しくなっていました。has_many of thoughしかし、
基本的に、各Room
には、多くの場合、Rooms
があります。私はこれらの部屋を接続するためにTunnel
モデルを作成しました。そのため、部屋はトンネルを介して他の多くの人々に接続されています。しかし、これらの関係を築くことは難しくなります。 =それはつま先MODELAがModelC通じ、多くのモデルBを持って来るとき
class Room < ApplicationRecord
has_many :tunnels
has_many :rooms, through: :tunnels
end
そして、私のトンネルが
class Tunnel < ApplicationRecord
belongs_to :lemmin_room, :foreign_key => "room1_id"
belongs_to :lemmin_room, :foreign_key => "room2_id"
end
Railsのドキュメントはかなり明確である二つの部屋
を接続するために取得しますが、私はそれが今までMODELAに言及しているとは思いませんModelB。
この関係は一方向です(部屋にはトンネルを通る他の多くの部屋がありますが、それらの接続された部屋の1つにある場合、前の部屋に同じトンネルで戻ることはできません)ミラーリングされた関係(別の部屋Bに接続された部屋Aは、同じトンネルを経由してBから来ることができます)? – guiniveretoo
必要に応じて同じトンネルで前の部屋に戻ることができます。はい。 –