1
class State < ActiveRecord::Base
  has_many :cities
end

class City < ActiveRecord::Base
  has_many :zipcodes
  belongs_to :state
end

class Zipcode < ActiveRecord::Base
  belongs_to :city
end

私がやろうとすると:

State.first.cities.zipcodes

ActiveRecord::Associations::CollectionProxyエラーが発生します。

has_many 関係を使用して複数のレベルを深くする方法を知っている人はいますか? オプションを使用してこれを機能through:させましたが、オプションを使用せずにそれを行う方法はありthrough:ますか?

4

3 に答える 3

0

これを行う

State.first.cities.first.zipcodes

これはState.first.cities、state と city の間に has_many の関係があるため、コレクションを返すためです。

于 2013-09-04T22:47:06.790 に答える
0

を使用しない:throughと、各都市を反復処理して郵便番号を見つける必要があります。

State.first.cities.map(&:zipcodes)
于 2013-09-04T22:54:57.897 に答える