2015-08-25 69 views
0

我試圖實現與外鍵的has_manybelongs_to關係。使用foreing_key時找不到ID沒有ID的記錄

模板

belongs_to :project

項目

has_many :templates 
belongs_to :coordinator, foreign_key: :coordinator_id, class_name: 'Person' 

has_many :projects

我能夠做

template = Template.new 
template.project = Project.new 
template.project # my empty project is showed 

但這不起作用

project = Project.new 
project.coordinator = Person.new # Everything is ok until here 
project.coordinator # ActiveRecord::RecordNotFound: Couldn't find Person without an ID 

我不知道我做錯了,也許我需要指定主鍵在某處,但我無法弄清楚。

我使用Rails 4

+0

嘗試從項目的'belongs_to'字段中刪除'foreign_key :: coordinator_id',嘗試將has_many:projects項目更改爲has_many:projects :: as =>:coordinator' –

+0

。 –

+0

這些解決方案都不起作用。 – Wagner

回答

0

親臨現場,

has_many :projects, foreign_key: :coordinator_id 

目前它希望找到在項目表中爲person_id。

哦,我也會反過來對這些關聯。

+0

已經嘗試過,不幸的是不起作用。 – Wagner

+0

好吧 - 它可能無法解決特定問題,但您需要它。 –