Rails3 Find Distinct给出的结果不是对象

时间:2011-12-30 00:30:14

标签: sql ruby-on-rails-3 activerecord

我正在尝试在控制台中选择用户ID作为变量,但我最终会以:

结束
 [#<User id: 4>]

我尝试的查找语句是:

 userid = User.select('id').where('username = ?', 'uwZgf')

我也尝试过使用相同结果的find_by_sql。

我需要什么来获取值而不是哈希?

1 个答案:

答案 0 :(得分:0)

你所拥有的是一个User个对象的数组。

User.select(...).where(...).first.id

可以解决这个问题(您可能想要在尝试调用first之前检查id返回的值。

您可能会找到

User.find_by_username('foo').try(:id)

更具可读性。