如何在給定n
的Rails上實現has_n
關聯?比如說橄欖球隊。它有15名球員。你會實施它作爲has_many
並保存之前檢查,以確保它有15名球員,或者你更願意實施它爲15 belongs_to
?請注意,在這種情況下,訂單很重要。最佳實施方法has_n
0
A
回答
1
編輯,以反映您的訂購請求......
你需要一個sort_key添加到播放器表。您可以使用整數,但浮點數總是更靈活的選擇。然後使用:order => "sort_key"
短語。
class Team < ActiveRecord::Base
has_many :players, :order => "sort_key", :inverse_of => :team
end
class Player < ActiveRecord::Base
belongs_to :team, :inverse_of => :players
validate :validate_players_count, :on => :create
def validate_players_count
if team.players.size > 15
errors[:base] << "a team can only have 15 players"
end
end
end
0
我更願意通過has_many
製作,並在添加新玩家時驗證玩家數量。
我認爲這是建立一對多關係的正確方法。
相關問題
- 1. LocationManager最佳實施?
- 2. Ember和國際化:請求最佳實踐和實施方法
- 3. StAX的最佳實施
- 4. AWS的最佳JMS實施
- 5. 最佳DynamoDB實施結構
- 6. Android登錄 - 最佳實施
- 7. 過多登錄嘗試後實施禁令的最佳方法
- 8. 國際化支付網關實施的最佳方法
- 9. 在Angular Service/Controller中實施安全$的最佳方法
- 10. Android - 跨多個活動實施LocationListener的最佳方法
- 11. X509證書實施最佳實踐
- 12. 實施IModelBinder時的最佳實踐
- 13. NoSql/Raven DB實施最佳實踐
- 14. 最佳實踐:iAds到iPhone的實施
- 15. AES-256最佳實踐實施
- 16. Azure ACS - 最佳實踐實施
- 17. 最佳實踐實施時copyWithZone:
- 18. 實施哈希的最佳實踐?
- 19. 緩存實施的最佳實踐
- 20. 多貨幣最佳實踐與實施
- 21. 最佳實踐request.method方法
- 22. 實現retainAll()方法的最佳方法
- 23. 實用Zend_Acl中+ Zend_Auth的實施和最佳做法
- 24. 從頭開始實施科學模擬方法的最佳實踐
- 25. 實施actionevent方法
- 26. inAppPurchase實施方法。
- 27. MySQL狀態模型 - 最佳實施?
- 28. 對音效實施「最佳匹配」
- 29. 最佳實施一個月查看
- 30. RxJava中REAL背壓的最佳實施
我認爲你的問題是直接關係到這個[問題](http://stackoverflow.com/q/4836897/22371)。 – kafuchau
我不認爲它是直接相關的。該問題使用連接表。這裏沒有必要。 –