我在我的Rails應用程序中有兩個實體,我試圖建立關係 - 檢查和個月。月的實例將有一個start_date和一個end_date - 這些日期不完全對齊日曆月份。支票的實例將有一個deposit_date。我想以某種方式描述一種關係,其中月份有許多支票,存款日期在月的開始日期和結束日期之間。這可能嗎?Rails與外鍵之間的關係?
0
A
回答
0
我到底做了什麼是刪除的has_many:檢查從本月類,並定義我自己的方法:
class Month < ActiveRecord::Base
# other associations and validations omitted
def checks
Check.where(deposit_date: self.start_date..self.end_date)
end
end
我不知道這是否會被認爲是一個黑客,但它給了我我需要的東西。當然,我很樂意看到更多'Rails方式'來做到這一點。
1
這是可能的。您可以自定義您的relation
參考。
class Month < ActiveRecord::Base
has_many :checks, ->(month) { where deposited_at: (month.start_at)..(month.end_at) }, class_name: 'Check'
end
你實際上並不需要指定class_name
,除非你改變你的關係名。例如,如果您有current_checks
而不是簡單地命名它checks
。
相關問題
- 1. laravel關係表之間的外鍵
- 2. MYSQL外鍵親子之間的關係
- 3. 與多個表之一之間的外鍵關係
- 4. Rails中的外鍵關係
- 5. 編程提取RDBMS中的表與外鍵之間的關係?
- 6. Emacs:鍵盤和鍵之間的關係
- 7. 定義Rails模型的外鍵關係
- 8. Rails has_many關係的動態外鍵
- 9. 創建主鍵與組合鍵之間的關係 - phpMyAdmin
- 10. 級聯下拉角度與它們之間的關鍵關係
- 11. 外鍵關係
- 12. 外鍵關係
- 13. 外鍵關係
- 14. Rails 4關係和Postgres外鍵約束
- 15. Rails One-One關係 - 外鍵位置
- 16. Ruby on Rails:建模外鍵關係。
- 17. Rails - 與外鍵具有不同名稱的兩個模型之間的關聯
- 18. 主鍵關係的外鍵
- 19. Rails has_many和belongs_to與外鍵錯誤的關係
- 20. 。mySQL之間的差異外鍵和內部關係
- 21. 表級別和外鍵之間的關係
- 22. SQL Server 2008中兩個數據庫之間的外鍵關係
- 23. Rails:建立關係之間的區別
- 24. Rails兩種模型之間的關係
- 25. Rails模型之間的關係
- 26. Rails belongs_to與多個外鍵的關聯
- 27. Rails「has_many」與NULL外鍵的關聯
- 28. .net mvc與Active Directory的外鍵關係
- 29. Django的外鍵關係與創作
- 30. Django的Inlineformset與編輯外鍵關係
那個答案對您有幫助嗎? –
非常感謝!那就是訣竅。 – user1706938
實際上,我後來發現,雖然這種方法沒有誤報我,但沒有給我預期的結果。問題在於它仍然期望檢查和月份之間的主鍵/外鍵關係,並將lambda附加到語句的末尾。 – user1706938