Я создаю приложение rails 5 (своего рода поиск работы, который связывает рекрутеров с кандидатами). Вот часть конфигурации моей модели:
class User < ActiveRecord::Base
has_and_belongs_to_many :tag
end
class Applicant < User
has_many :experience
has_many :match
end
class Recruiter < User
has_one :company
has_many :offer
end
class Experience < ActiveRecord::Base
belongs_to :applicant, :foreign_key => "user_id"
has_one :company
end
И это выдержки из моего файла схемы:
create_table "users", force: :cascade do |t|
t.string "type", null: false
t.string "login", limit: 40, null: false
t.string "password", limit: 500, null: false
t.bigint "company_id"
t.index ["company_id"], name: "index_users_on_company_id"
t.index ["login"], name: "index_users_on_login", unique: true
end
create_table "experiences", force: :cascade do |t|
t.string "job_name", limit: 100, null: false
t.bigint "company_id"
t.bigint "user_id", null: false
t.text "description"
t.index ["company_id"], name: "index_experiences_on_company_id"
t.index ["job_name"], name: "index_experiences_on_job_name"
t.index ["user_id"], name: "index_experiences_on_user_id"
end
add_foreign_key "users", "companies"
add_foreign_key "experiences", "companies"
add_foreign_key "experiences", "users"
Опыт присоединен к модели Заявитель через пользователя таблицы (которыйсодержат поле типа для STI), поэтому я указал "foreign_key => 'user_id'" в модели опыта.
Моя проблема заключается в том, что, когда я пытаюсь получить доступ при первом опыте кандидата, я получаюэта ошибка:
PG :: UndefinedColumn: ОШИБКА: столбец experience.applicant_id не существует ЛИНИЯ 1: ВЫБЕРИТЕ "опыты". * ИЗ "переживаний" ГДЕ "переживает ...
Надеюсь, вы мне поможете ... Спасибо!