У меня есть таблица, которая ДОЛЖНА иметь case_id, которая действительна и существует, и запись не должна создаваться, если она не существует. Я не смог бы передать NULL case_id.Внешним ключом может быть NULL?
Это выглядит следующим образом:
# == Schema Information
#
# Table name: medical_intervention_expert_answers
#
# id :integer not null, primary key
# case_id :integer
# problem_id :integer
# medical_intervention_id :integer
# created_at :datetime
# updated_at :datetime
# pti :boolean
#
class MedicalInterventionExpertAnswer < ActiveRecord::Base
belongs_to :case
belongs_to :problem
belongs_to :medical_intervention
def self.create_from_data(case_id, problem_id, medical_intervention_id, is_pti)
answer = self.create(case_id: case_id, problem_id: problem_id, medical_intervention_id: medical_intervention_id,
pti: is_pti)
return answer
end
end
Если я прохожу в case_id, который нулевой или передать в case_id, который не существует, переменная «ответ» должен быть нулевым, а база данных должна быть неизмененными.
Что мне делать, чтобы иметь такое отношение?
Проблема заключается в том, что я использую SQLite, поэтому я не могу использовать add_foreign_key – jmasterx
. Прежде чем отправлять medical_intervention_id, я проверяюсь. – cristiancvanega