rails 4 - 迭代查询结果

时间:2014-03-20 19:07:26

标签: ruby-on-rails ruby ruby-on-rails-4

我在我的rails 4演示应用程序模型中构建了一个小函数来对搜索中找到的所有记录执行sql查询。所以它的工作原理如下:

def do_stuff(item_id)
  items = Widget.find_by item:id: item_id
  items.each do |t|
    #do stuff 
  end
end

问题是当只返回一条记录时,我收到以下错误:

undefined method `each' for #<Widget:0xb93eaa44>

处理返回一条或零条记录的案例的最佳方法是什么?

2 个答案:

答案 0 :(得分:5)

尝试这样的事情:

items = Widget.where(item_id: item_id)

无论找到多少记录,这都会返回一组记录。

答案 1 :(得分:0)

我认为你在寻找

Widget.where(item_id: item_id).each do |w|
  # do stuff
end