我有一個方法:導軌 - 返回了誰的方法返回true的所有記錄
class Role
def currently_active
klass = roleable_type.constantize
actor = Person.find(role_actor_id)
parent = klass.find(roleable_id)
return true if parent.current_membership?
actor.current_membership?
end
end
我想返回誰這種方法是真正作用的所有實例,但無法通過他們迭代所有這些都需要大約20秒。我試圖使用,語句,但是它們所依賴的模型的屬性,而不是一個方法:
Role.where(currently_active: true)
,因爲沒有所謂的currently_active屬性,這顯然會引發錯誤。我怎樣才能以最有效的方式執行這個查詢,並且如果可能的話使用Active Records而不是數組?
在此先感謝
這取決於你'complicated_block' –
使用ActiveRecord的,你應該對數據庫列進行操作。顯示你的'complex_block' –
我已經添加了塊...有什麼方法可以使用Active Record關係,而不是數據庫列....? – Mark