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

少なくとも 1 つのヒントがある各国を取得しています。国には_多くのヒントがあり、ヒントは_国に属しています

できます。しかし、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 に答える