Здравствуйте.
Есть следующие модели:
class Contractor < User<br>
has_many :contractorEs<br>
has_many :customers<br>
end<br><br>
class Customer < User<br>
belongs_to :contractor<br>
has_many :customerEs<br>
end<br>
Есть миграция:
class AddContractorIdToCustomers < ActiveRecord::Migration<br>
def change<br>
add_column :customers, :contractor_id, :integer<br>
end<br>
end<br>
Пробую создать кастомера (Сustomer), для этого захожу в консоль и делаю следующее:
c = Contractor.first<br>
c.customers.build<br>
Вместо созданного кастомера получаю следующее сообщение об ошибке:
ActiveRecord::UnknownAttributeError: unknown attribute: contractor_id<br>
Миграцию запускал, сервер рестартовал. Проблема, к сожалению, остается.
Подскажите, пожалуйста, с чем это может быть связано и как это исправить.
Лучи добра вам :)
UPD: Ruby 2/Rails 4
UPD 2: Я использую STI, все наследуется от User-a. Может быть проблема связана с этим?
UPD 3: Продолжаю исследовать проблему. Выяснилось, что создании модели через Customer.new в полях нет contractor_id:
<Customer id: nil, first_name: nil, last_name: nil, address: nil, country: nil, zip: nil, city: nil, phone: nil, company_name: nil, signature: nil, type: "Customer", created_at: nil, updated_at: nil, v_token: nil, password_digest: nil, u_token: nil, email: nil, state: "new"><br>
Если я наследую Customer от ActiveRecord::Base, то все работает нормально. Но мне надо наследовать от User.