0

オブジェクトの配列を解析して属性で選択することは可能ですか? ある属性でグループ化されたモデルのすべてのオブジェクトをインデックス ページに表示する必要がある状況があります。私がコントローラーでやっていたことはこれです...

#xx_controller.rb

@group1 = City.where(:population => 'big')
@group2 = City.where(:population => 'medium')
@group3 = City.where(:population => 'small')

しかし、私はコントローラーでこのようなことをしたいと思います...

@cities = City.all

そして、私の見解では、事前にパッケージ化されたインスタンス変数ではなく、クエリの行に沿ったものです-

@cities.where....

何かご意見は?

4

2 に答える 2

1

データベースからすべてを一度にロードすることを気にしない場合は、次のことができます。

@cities = City.all.group_by(&:population)

キーが属性の可能な値であるハッシュを返しpopulationます。@cities['small']次に、ビューで、 などを実行して、各「グループ」の都市にアクセスできます@cities['medium']

于 2012-10-04T00:48:26.927 に答える
0

このようなことを意味しますか?

@cities = City.all

small_cities = @cities.select { |city| city.population == 'small' }
medium_cities = @cities.select { |city| city.population == 'medium' }
big_cities = @cities.select { | city| city.population == 'big' }
于 2012-10-04T00:45:41.937 に答える