Rails active record: обновить список записей - PullRequest
0 голосов
/ 20 декабря 2010

У меня есть две таблицы: «страны» и «аэропорты».Я хочу, чтобы все страны, в которых есть хотя бы один аэропорт, были «активными».Это не работает:

  def self.activate_by_airports
    update_all('active = 1', ['country_code IN (?)', Airport.select('DISTINCT(country_code)').where(:active => 1)])
  end

Как я понимаю, Airport.select (...) возвращает список объектов Airport, когда мне нужен список кодов стран.

Что такоеправильный синтаксис в этом случае?

1 Ответ

2 голосов
/ 20 декабря 2010

Используйте Airport.select('DISTINCT(country_code)').where(:active => 1).toArray или Airport.select ('DISTINCT (код страны)'). Where (: active => 1) .all - только Rails 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...