Rails - 如何获取匹配其他条件的记录的ID

时间:2012-10-05 08:22:05

标签: ruby-on-rails

我有一个分类表,基于知道类别名称(它是唯一的),我希望能够获得ID。

在rails控制台中,我尝试了

cat = Category.where("name = ?", "Food")

成功找到了该对象,但输入cat [:id]给了我“TypeError:无法将Symbol转换为整数”。我做错了什么?

2 个答案:

答案 0 :(得分:0)

请尝试使用find_by_name

cat = Category.find_by_name('Food')
puts cat.id

where返回一个数组(井,类似数组)对象。因此,您可以使用cat = Category.where('name = ?', 'Food').first。 find方法也会做同样的事情,但看起来也更干净。

答案 1 :(得分:0)

cat = Category.where("name = ?", "Food").first
id = cat.id
相关问题