2012-06-28 2 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_id является null ??

+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 :: Ошибка: ОШИБКА: значение null в столбце «employee_id» нарушает непустое ограничение – kapso

Смежные вопросы