軌道4,與例如多個條件找到考慮找Profile
與first_name
和last_name
Profile.find_by first_name: 'stack', last_name: 'flow'
找到的第一個記錄符合指定條件。沒有暗示的順序,所以如果訂單很重要,你應該自己指定。 如果沒有找到記錄,返回nil
Profile.find_by! first_name: 'stack', last_name: 'flow'
像find_by,但如果沒有記錄被發現,引起了一個ActiveRecord :: RecordNotFound錯誤。
欲瞭解更多信息,請閱讀Rails Finder Method
1:http://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-find_byIn軌道4,與多個條件查找例如,考慮找到Profile
與first_name
和last_name
Profile.find_by first_name: 'stack', last_name: 'flow'
找到的第一個記錄符合指定條件。沒有暗示的順序,所以如果訂單很重要,你應該自己指定。 如果沒有找到記錄,返回nil
Profile.find_by! first_name: 'stack', last_name: 'flow'
像find_by,但如果沒有記錄被發現,引起了一個ActiveRecord :: RecordNotFound錯誤。
欲瞭解更多信息,請閱讀Rails Finder Method
'.all'沒有必要。 – Mischa 2012-08-06 14:12:39
@Mischa - 非常真實,但這當然取決於某人在何處以及如何使用該陳述,並且我同意在大多數情況下這不是必需的。對於這個答案,我想明確地返回結果數組而不是ActiveRecord :: Relation對象,以避免任何可能的混淆。感謝您指出,雖然! – miked 2012-08-06 14:24:29
我只是覺得當你*不需要全部時,調用'all'看起來很奇怪。如果你只是爲了返回一個數組而不是'ActiveRecord :: Relation',那麼IMO會清楚地調用'to_a'來代替。 – Mischa 2012-08-06 14:34:33