有谁知道我如何迭代两个数组并将id从一个匹配到另一个?我有一个数组 - @ household,它有一个名为idhouseholds的唯一id,并希望使用来自@events数组的id将@events数组中的字段标记到@household数组的末尾。
答案 0 :(得分:4)
您正在寻找的是两个阵列的'natural join'。
在这种情况下,这可能适合您:
@household.product(@events).each.map { |x| x if x[0].id == x[1].id }.compact
上面的代码执行两个数组的Cartesian product(它给出所有[家庭,事件]对),然后过滤掉匹配id的元素。
当然,如果你有一个使用id字段的关联,你不需要这样做,它将由ORM层处理。
答案 1 :(得分:0)
这个怎么样..
@household.each do |household_elt|
matching_event = @events.select { |event| event.id == household_elt.idhouseholds }.first
#do the tagging with matching_event
end