Попытка создать подзапрос с использованием activerecord в rails 3 - PullRequest
0 голосов
/ 01 апреля 2011

Я очень новичок в рельсах.Спасибо, что взглянули на это.Я пытаюсь создать по сути подзапрос в activerecord.Вот что у меня в контроллере.

 @vote_time = Submission.select("submissions.updated_at").where(:chosen => true).first
 @submissions = Submission.where(["submissions.created_at > ?",  @vote_time])  

Я думаю, это примерно так, как это выглядит в sql.

select * from submissions where submissions.created_at < (select submissions.updated_at from submissions where chosen = true limit 1)

Всякий раз, когда я запускаю поиск activerecord @vote_time вставляетсякак ноль.Я просто лаю не на том дереве?Вы не можете передать переменную в условие массива?Большое вам спасибо за ваше время.

1 Ответ

1 голос
/ 01 апреля 2011

Вы хотите вызвать атрибут updated_at для первого возвращенного объекта, а не пытаться выбрать только этот столбец. Как так:

@vote_time = Submission.where(:chosen => true).first.updated_at
@submissions = Submission.where(["submissions.created_at > ?",  @vote_time])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...