4

我有以下代码:

@countries = Country.find( :all, :order => 'name' )

@countries_with_tips = []

@countries.each do |country|
  if country.tips.any?
    @countries_with_tips.push( country )
  end
end

我得到每个至少有一个小费的国家。一个国家有_很多小费,一个小费属于_一个国家

有用。但对于 Ruby 来说,这似乎有点不雅。有没有更好的办法?

提前致谢

理查德

4

2 回答 2

5
@countries_with_tips = Country.joins(:tips).order(:name).uniq
于 2012-10-13T14:45:45.113 回答
0
@countries_with_tips = @countries.select{|country| country.tips.present? }
于 2012-10-13T17:23:44.920 回答