0

楷模:

城市.rb:

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

我在cities和之间有一个 HABTM(通过) 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

这是我的错误(与控制器代码的第二行有关):

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 回答