Превращение ActiveRecord :: Relation в модель - PullRequest
8 голосов
/ 03 февраля 2011

очень начинающий вопрос. Я использую интерфейс запросов 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, который относится к запросу. Как мне превратить это в объект User?

1 Ответ

13 голосов
/ 03 февраля 2011

Вам необходимо «зафиксировать» запрос с помощью all, first или find.

def self.authenticate
 user = Rails.env.development? ? "development_user" : request.env['REMOTE_USER']
 self.where('username = ?', user).first
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...