Ich habe ein Resume-Modell und ein Bildungsmodell. Bildung gehört_zur Fortführung und Fortsetzung von has_many educations. Ich verwende derzeit ein Formular in der show.html.erb
Ansicht von Resume, um Daten für Ausbildungen einzugeben, nur um sicherzustellen, dass es funktioniert.Speichern geschachtelter Daten, bevor dem Eltern eine ID zugewiesen wurde
In meiner routes.rb
Datei ich habe:
resources :resumes do
resources :educations
end
In meiner educations_controller.rb
Datei, die ich dieses:
def create
@resume = Resume.find(params[:resume_id])
@education = @resume.educations.build(education_params)
respond_to do |format|
if @education.save
format.html { redirect_to @resume, notice: 'Education was successfully created.' }
format.json { render :show, status: :created, location: @education }
else
format.html { render :new }
format.json { render json: @education.errors, status: :unprocessable_entity }
end
end
end
Dies ermöglicht es mir, in meinem views/resumes/show.html.erb
folgendes haben:
<%= form_for [@resume,Education.new] do |f| %>
<div class="field">
<%= f.label :sectionTitle %><br>
<%= f.text_field :sectionTitle %>
</div>
<div class="field">
<%= f.label :completed %><br>
<%= f.date_select :completed %>
</div>
<div class="field">
<%= f.label :degree %><br>
<%= f.text_field :degree %>
</div>
<div class="field">
<%= f.label :school %><br>
<%= f.text_field :school %>
</div>
<div class="field">
<%= f.label :summary %><br>
<%= f.text_area :summary %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Dies funktioniert derzeit und ermöglicht es mir, zu en mehrere Ausbildungen pro Lebenslauf.
Das Problem ist, Ich muss zuerst den Lebenslaufeintrag erstellen, bevor ein Bildungseintrag erstellt wird, da der Bildungseintrag von der resume_id-Ganzzahl abhängt.
Wie kann ich meinen Code neu strukturieren, so dass ich mehrere Bildungseinträge für einen bestimmten Lebenslauf erstellen kann, der noch keine ID hat, so dass im Wesentlichen beim Senden der Lebenslauf eine ID zugewiesen wird dann alle nachfolgenden Ausbildungen beigefügt werden die angegebene resume_id und ihre eigene Bildungs-ID gegeben?
Ich vermute, ich werde wahrscheinlich Javascript verwenden, das ist in Ordnung, aber trotzdem bin ich nicht sicher, was zu tun ist, sobald die Standardformularaktion abzufangen.
Sie wollen Lebenslauf und Ausbildungen in Lebenslauf # create-Methode mit verschachtelter Form rechts schaffen? –
Ja, obwohl eine verschachtelte Form nicht das ist, was ich derzeit implementiert habe, könnte ich es zum Laufen bringen. Allerdings wäre ich mir nicht sicher, wie ich mehr als eine Ausbildung pro Lebenslauf erstellen könnte. Gedanken? Danke für Ihre Antwort. – tfer77
Wie möchtest du eine oder mehrere Ausbildungen unter jedem Lebenslauf gestalten? – 7urkm3n