所以我新的領域,並沒有真正理解他們well.Let說,我有2種型號,Project
和Ticket
:簡單的範圍和關聯
class Project < ActiveRecord::Base
has_many :tickets
end
class Ticket < ActiveRecord::Base
belongs_to :project
end
我已經習慣了像這樣的代碼從門票訪問相關數據:
Project.find(1).tickets.each do |ticket|
puts ticket.name
end
我創造了新的範圍:
scope :default, -> { where(default: true) }
一nd現在當我使用Project.default
我找回ActiveRecord::Relation
,並沒有線索如何訪問相關tickets
?
@DaveNewton你會用什麼? lambdas是默認的方式繼續Rails 4我認爲 – apneadiving
@apneadiving我想我仍然喜歡類方法;它在Rails文檔中被列爲首選項,並且在有參數時首選 - 我喜歡讓它們保持一致,YMMV。 –
@DaveNewton我瞭解你的觀點,我通常使用lambda表達式,因爲我喜歡'scope'方法,它使事情變得非常清晰(對我來說) – apneadiving