1
我正在寫一個關於釣魚的應用程序。三種模式的非典型協會
- 我們有一個
fish
模型,其中包含一些物種。 - 我們有一個
location
模型,其中包含捕魚點。 - 我們有一個
technique
模型,其中包含一些捕魚技術。
每個location
可能有多個fish
,所以:
class Location < ActiveRecord::Base
has_many :fish
end
每個fish
可以在多個位置找到,所以:
class Fish < ActiveRecord::Base
has_many :locations
end
頭痛配備了第三種模式,因爲每個fish
可能會被多個techniques
捕獲,這取決於location
。換句話說:fish
和technique
之間存在類似location
之間的多對多關係。
我應該使用什麼樣的關聯?
是技術和魚有關的或的關係是唯一的位置和技術之間。你能想出一個更精確的例子嗎? – rangalo
當然!我想在BLUEDEEPS(地點)釣魚鯊魚(魚),我可以釣魚他們(捕魚技術)或鑄造(技術)。在GREENROCK(地點),我可以釣魚他們CASTING(技術)或NET(技術)。但是在GREENROCK(位置),我可以通過SPEARFISHING(技術)來釣魚SEA BASS(魚)。是的,這是一個三角關聯... – albertedevigo