我有两张桌子:'国家'和'机场'。我想将所有至少有一个机场的国家设置为“活跃”。这不起作用:
def self.activate_by_airports
update_all('active = 1', ['country_code IN (?)', Airport.select('DISTINCT(country_code)').where(:active => 1)])
end
据我所知,当我需要国家代码列表时,Airport.select(...)会返回机场对象列表。
在这种情况下,正确的语法是什么?
答案 0 :(得分:2)
使用Airport.select('DISTINCT(country_code)').where(:active => 1).toArray
或Airport.select('DISTINCT(country_code)')。where(:active => 1).all - 仅限Rails 3