将ActiveRecord :: Relation转换为模型

时间:2011-02-03 04:15:00

标签: ruby-on-rails

非常初学的问题。 我正在使用Rails 3的查询界面,如下所示:

class User < ActiveRecord::Base

def self.authenticate
 if Rails.env = 'development'
   self.where('username = ?', 'development_user')
 else
   self.where('username = ?', request.env['REMOTE_USER'])
 end
end

end

这是返回一个ActiveRecord :: Relation对象,实际上我想要与查询相关的User对象。如何将其变为用户对象?

1 个答案:

答案 0 :(得分:13)

您需要使用allfirstfind“提交”查询。

def self.authenticate
 user = Rails.env.development? ? "development_user" : request.env['REMOTE_USER']
 self.where('username = ?', user).first
end