0

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

在rails控制台中我试过

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

成功找到了对象,但是键入 cat[:id] 给了我“TypeError:无法将符号转换为整数”。我究竟做错了什么?

4

2 回答 2

0

尝试find_by_name改用。

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

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

于 2012-10-05T08:25:12.680 回答
0
cat = Category.where("name = ?", "Food").first
id = cat.id
于 2012-10-05T08:26:23.723 回答