Ассоциация один ко многим. Неопределенный метод

У меня есть таблица стран и модель Country со следующими столбцами id, cc_fips, cc_iso, tld, country_name со всеми перечисленными странами мира.

У меня есть таблица пользователей и модель пользователя с идентификатором столбца, именем, возрастом...........

У каждого пользователя есть одна страна, но в одной стране много пользователей.

Я хочу создать таблицу посередине, где я буду регистрировать столбцы country_id, user_id.

Ассоциация один ко многим.

Я назвал таблицу countryforusers и модель Countryforuser.

Моя миграция для создания модели:

class CreateCountryforusers < ActiveRecord::Migration
  def change
    create_table :countryforusers, {:id => false} do |t|
      t.integer "country_id"
      t.string "user_id", :null => false, :default => ""
      t.timestamps
    end
    add_index("countryforusers","country_id")
  end
end

Моя модель Пользователь:

class User < ActiveRecord::Base
  has_many :images
  belongs_to :countryforuser
end

Моя модель Countryforuser:

class Countryforuser < ActiveRecord::Base
  has_many :users
end

Однако это не работает. У меня все время появляется сообщение undefined method `countryforusers' при попытке добавить одного пользователя для страны.

Что я делаю?

Большое Вам спасибо.


person user3777245    schedule 10.09.2014    source источник


Ответы (1)


Хотя у каждого пользователя есть одна страна, а в одной стране много пользователей, мне пришлось использовать ассоциацию «многие ко многим», если бы я поместил таблицу соединений посередине. Так что слово «многие ко многим» на этот раз немного сбивает с толку.

person user3777245    schedule 10.09.2014