我是rails的新手,并试图查看是否有一种更有效的方法来根据结点对象中设置的字段查找位置。关系是事件通过events_locations有许多位置。这是一个简化的例子:
@locations=[]
events_locations = @event.events_locations.where(:fieldvalue=>1)
events_locations.each do |el|
@locations<<Location.find(el.location_id)
end
这似乎很浪费,可能会产生很多疑问。还有更好的方法吗?
答案 0 :(得分:2)
我猜fieldvalue是events_locations的一个字段,然后是
class Event
has_and_belongs_to_many :locations
end
@locations = @event.locations.where(events_locations: {fieldvalue: 1})