Erstellen Sie 2 verschiedene Kinder kurz bevor Eltern gespeichert wird. Ich verstehe, dass, wenn ich parent.child.build
schreibe, die ID des Elternteils automatisch dem Kind gegeben wird.Rails gebaut Kind, aber Eltern-ID Null
Hier das erste Kind ist in Ordnung, aber die zweiten einen FOLDER_ID nil (Es ist eine has_many Beziehung)
def create
@folder = Folder.new(folder_params)
@folder.events.build(scheduler_resource_id: SchedulerResource.where(user: @folder.maker).last.id,
start: @folder.production_date.beginning_of_month, end: @folder.production_date.end_of_month)
@folder.events.build(scheduler_resource_id: SchedulerResource.where(user: @folder.analyst).last.id,
start: @folder.production_date.beginning_of_month, end: @folder.production_date.end_of_month)
respond_to do |format|
if @folder.save
format.html { redirect_to @folder, notice: 'Folder was successfully created.' }
format.json { render :show, status: :created, location: @folder }
else
format.html { render :new }
format.json { render json: @folder.errors, status: :unprocessable_entity }
end
end
end
Ich verstehe nicht, warum die ID der Eltern auf das zweite Kind nicht gegeben.
EDIT
Als gefragt, hier ist mein Event-Modell
class Event < ApplicationRecord
attr_accessor :date_range
belongs_to :scheduler_resource
belongs_to :folder
accepts_nested_attributes_for :folder
def self.select_folder
Folder.all.map { |p| ["#{p.client.corporate_name} - #{p.concatenate_mandates} (#{p.status})", p.id] }
end
def all_day_event?
start == start.midnight && self.end == self.end.midnight ? true : false
end
end
Ich habe ein Beispiel ähnlich dem, was Sie geteilt haben, und es hat gut funktioniert. Aus meiner Sicht gibt es Probleme, wo 'Ereignisse' entstehen. Kannst du bitte dein Veranstaltungsmodell teilen? –
'Build' kann ein Array von Objekten erstellen, so dass Sie diese 2 Objekte in einer einzigen Build-Methode mithilfe von Array erstellen können. Wie '@books = @ author.books.build ([ {published_at: Time.now, Buchnummer:" A12346 "}, {published_at: Time.now, Buchnummer:" A12347 "} ])'. Obwohl ich nicht sicher bin, ob das dein Problem lösen wird. – Sajan
@PardeepDhingra Ich habe mein Modell hinzugefügt. Das einzige, was sich von anderen Modellen unterscheidet, ist, dass ich ein accresents_nested_attributes für die Aktualisierung des Elternteils im Formular des Kindes habe. Nicht sicher, ob das hier ein Problem sein kann. – LRP