在Rails 5中,如何迭代活动记录集?

时间:2017-01-05 20:25:32

标签: ruby-on-rails arrays loops activerecord ruby-on-rails-5

我正在使用Rails 5.我无法迭代一组活动记录。我这样访问它们

 priority_countries_ids = Country.where(:iso=>priority_countries).all
priority_countries_ids.each do |pc|

但在“每条”行上,我收到了错误

can't quote Array

没有其他信息。我不知道如何对此进行故障排除,只是想从我的查询中迭代每个结果。

2 个答案:

答案 0 :(得分:0)

你能打印priority_countries吗?你确定它是一系列价值观吗? 试试

Country.where(:iso=>priority_countries.to_a).all

答案 1 :(得分:0)

priority_countries: [["US", "United States"], ["CA", "Canada"]]

问题是因为您的priority_countries不是一维数组。(http://edgeguides.rubyonrails.org/active_record_querying.html#retrieving-multiple-objects-in-batches

priority_countries_ids = Country.where(:iso=>priority_countries.flatten).all //使用展平将priority_countries转换为1D。

希望它能解决你的问题。