2016-06-28 37 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 

我有兩個模型汽車和城市,第三個模型CarsAvailable存儲哪些特定的汽車可在一個特定的城市。柵欄中的級聯刪除模型

如何設置Car和CarsAvailable之間的DESTROY關聯,以便在Car被移除時相應的CarsAvailable條目也會被刪除。

我想出了城市,但有點模糊,如何將它應用到汽車。

回答

2

這將這樣的伎倆:

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

添加關聯到你Car,並告訴它摧毀的關聯,就像你用City一樣。

+0

但汽車有很多cars_available沒有任何意義 –

+0

這是沒有道理的,因爲你如何命名你的「多對多關係」表。 Rails在讓我們定義反映我們業務領域的模型方面做得非常出色,但您不能忘記它只是代碼。你必須明白'has_many'的作用,而不是它如何「讀取」。 – Uzbekjon

+0

在目前的情況下,你可以請建議我更好的適合多對多關係的名稱,基於上述場景 –