2012-06-28 52 views
1

我有以下型號 -Rails的has_and_belongs_to_many創建/插入不起作用

class Employee < ActiveRecord::Base 
    has_and_belongs_to_many :surveys, join_table: 'employee_surveys' 
end 


class Survey < ActiveRecord::Base 
    has_and_belongs_to_many :employees, join_table: 'employee_surveys' 
end 

當我做Employee.first.surveys.create(name: "New Survey")它會產生一個錯誤,抱怨employee_idnull

+0

有什麼確切的錯誤/回溯? –

回答

1

我想你想在這裏使用員工類的實例,而不是類本身。

像:

employee = Employee.first 
employee.surveys.create(name: "New Survey") 
+0

對不起,這是一個錯字,我正在做一個「.first」 – kapso

+0

在這種情況下,它可能會有助於看到實際的錯誤。也許仔細檢查employee_surveys表是否存在employee_id列。順便說一句,通常你會想遵循命名約定,並命名你的連接表'employees_surveys',然後你不需要指定它作爲參數。 –

+0

ActiveRecord :: StatementInvalid:PG :: Error:錯誤:列「employee_id」中的空值違反了非空約束 – kapso