2016-06-28 13 views
0
class Car < ActiveRecord::Base 
end 

class City < ActiveRecord::Base 
    has_many :cars_available, dependent: :destroy 
end 

class CarsAvailable < ActiveRecord::Base 
    belongs_to :car 
    belongs_to :city 
end 

私は2つのモデルCar and Cityと、特定の都市で利用可能な特定の車を保存する3番目のモデルCarsAvailableを持っています。レールのカスケード削除モデル

CarとCarsAvailableの間にDESTROY関連付けを設定する方法。Carが削除されると、対応するCarsAvailableエントリも削除されるようにします。

私はCityのためにそれを理解しましたが、Carにそれを適用する方法は少しあいまいでした。

class Car < ActiveRecord::Base 
    has_many :cars_available, dependent: :destroy 
end 

があなたのCarに関連付けを追加し、あなたがCityで行ったよう、関連付けを破壊するためにそれを伝える:

答えて

2

これは、トリックを行います。

+0

しかし、車には多くの車があります。利用できません。 –

+0

"多対多の関係"テーブルに名前を付けたために意味がありません。 Railsは、ビジネスドメインを反映したモデルを定義するという素晴らしい仕事をしましたが、それは単なるコードであることを忘れることはできません。そして、あなたは 'has_many'が何をするのかを理解しなければなりません。 – Uzbekjon

+0

現在のシナリオでは、上記のシナリオに基づいて、多対多の関係のために適切な名前を教えてください。 –

関連する問題