2
- 我有2個型號。
line_item
和account
。 line_item
屬於account
。account
有一列is_active
。
我正在尋找一種方式來寫一個Rails範圍,找到所有line_items
,他們的帳戶is_active = true
基於模型母屬性的導軌範圍
喜歡的東西
LineItem.should_display
line_item
和account
。line_item
屬於account
。account
有一列is_active
。我正在尋找一種方式來寫一個Rails範圍,找到所有line_items
,他們的帳戶is_active = true
基於模型母屬性的導軌範圍
喜歡的東西
LineItem.should_display
編輯
class LineItem < ActiveRecord::Base
scope :should_display, -> { joins(:account).where(accounts: {is_active: true}) }
end
這產生與添加以下class met相同的結果在你的LineItem模型中。
def self.should_display
joins(:account).where(accounts: {is_active: true})
end
我認爲你可以找到Rails的更多信息,用於指導活動記錄查詢:http://guides.rubyonrails.org/active_record_querying.html
我不知道,當談到'scopes' HTTP更背景下如何提供://guides.rubyonrails .org/active_record_querying.html#作用域 – Deekor
@Deekor,我不熟悉rails的這個方面。我編輯了我的響應以符合用於範圍界定的rails語法,但是,正如您鏈接到的rails指南中所述,它會產生與我之前發佈的結果相同的結果。 – John
是否使用範圍優先於jusing類方法? – Matthias