Ich habe derzeit eine Steuerung in Schienen, wo ich ein Modellobjekt erstellen und eine Beziehung zu diesem Modellobjekt festlegen. Ich möchte diese Beziehung als eine Antwort, aber wenn das Modellobjekt innerhalb der ersten Anfrage erstellt wird, werde ich für die Beziehung null. Nach der ersten Anfrage bekomme ich die richtige Beziehung als Antwort. Muss ich das Modellobjekt nach dem Festlegen einer Beziehung aktualisieren, nachdem ich das Objektmodell erstellt habe?Problem mit Active Record in Rails und Einstellung Beziehungen
Mein Code:
Controller:
def create
@patient = Patient.find_or_create_by_prename_and_lastname_and_birthday(params[:patient])
@doctor = Doctor.find(current_user.id)
@patient.create_qr_code_from_doctor_if_no_exists(@doctor)
@qr_code = @patient.get_last_qr_code
respond_to do |format|
format.json {
render :json => @qr_code.to_json
}
end
end
Modell:
def create_qr_code_from_doctor_if_no_exists(doctor)
if self.qr_codes.size == 0
QrCode.create!(:patient => self, :doctor => doctor)
end
end
def get_last_qr_code
if(self.qr_codes.size > 1) # sort only if there is more than one QR-Code
self.qr_codes.sort do |x,y|
y.created_at <=> x.created_at
end
end
self.qr_codes.at(0)
end