Как мне сделать так, чтобы я узнал мою полиморфную ассоциацию?

Почти такой же вопрос был задан ранее (Как использовать спички для тестирования полиморфной ассоциации?) но не было однозначного ответа, который помог бы мне, поэтому я пытаюсь снова.

Я использую musta для проверки своих ассоциаций, и следующий тест не пройден

require 'spec_helper'

describe LabourEpidural do
  before {@treatment = FactoryGirl.build :treatment}
  subject {@treatment}
  it{should have_many :complications}
end

Это терпит неудачу со следующим сообщением

Failure/Error: it{should have_many :complications}
   Expected Treatment to have a has_many association called complications (Complication does not have a complicatable_id foreign key.)

Проблема в том, что в моей таблице Complication есть столбец осложненный_идентификатор. Вот соответствующие части моих моделей;

class Treatment < ActiveRecord::Base
  has_many :complications, as: :complicatable, dependent: :destroy
end

class Complication < ActiveRecord::Base
  belongs_to :complicatable, polymorphic: true
end

и из моей schema.rb;

create_table "complications", :force => true do |t|
  t.string   "name"
  t.datetime "created_at"
  t.datetime "updated_at"
  t.integer  "complicatable_id"
  t.string   "complicatable_type"
end

Насколько я могу судить, все готово для прохождения теста musta, так почему бы и нет? Предполагается, что спички должны «просто работать» с полиморфными ассоциациями. Если я иду в консоль, я могу легко создавать процедуры с осложнениями. Есть идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос