0

モデル:

都市.rb:

has_many :cities_users
has_many :users, :through => :cities_users

と の間に HABTM (スルー) がcitiesありusersます。ユーザーに関連付けられているすべての都市を表示したいと考えています。ここに私が持っているものとエラーがあります:

users.rb

has_many :cities_users
has_many :cities, :through => :cities_users

コントローラ:

@user = User.find(current_user.id)
@users_cities = @user.cities

JOIN テーブルを作成する移行を作成しました。

create_table "cities_users", :id => false, :force => true do |t|
   t.integer "user_id"
   t.integer "city_id"
end

これは私のエラーです(コントローラーコードの2行目に関連):

uninitialized constant User::CitiesUser

ユーザーに関連付けられている都市の作成にも同様の問題があります。

どうもありがとう。

4

1 に答える 1

0

関連付けを使用する場合は、新しいモデルを作成する必要がありますhas_many :through。機種を介さない直接多対多接続での
ご利用をご検討ください。has_and_belongs_to_many

詳細については、http://guides.rubyonrails.org/association_basics.html#choosing-between-has-many-through-and-has-and-belongs-to-manyを参照してください。

于 2013-07-23T22:03:08.323 に答える