мои модели:
class CardSignup < ActiveRecord::Base
has_one :conversion
has_one :card_signup, :through => :conversion
class User < ActiveRecord::Base
has_many :conversions
has_many :card_signups, :through => :conversions
class Conversion < ActiveRecord::Base
belongs_to :card_signup
belongs_to :user
end
моя миграция:
class AddCardSignupConversions < ActiveRecord::Migration
def self.up
create_table (:conversions, :id => false) do |t|
t.integer :user_id
t.integer :card_signup_id
end
end
def self.down
drop_table :conversions
end
end
Теперь я могу успешно найти:
User.find(x).conversions
CardSignup.find(x).conversion
Однако я не могу добавлять объекты в эти ссылки. Не уверен почему .. Я попробовал это:
User.last.conversions << CardSignup.last
Который вернулся:
ActiveRecord::AssociationTypeMismatch: Conversion(#2183228680) expected, got CardSignup(#2183113520)
Почему это?