Verwenden von form_for mit verschachtelten Ressourcen

Ich erstelle eine To-Do-Anwendung, um Rails fließend zu beherrschen. In meiner App gibt es vier Hierarchieebenen.

BenutzeGoals (mehrere Ziele pro Benutzer)Aufgaben (mehrere Aufgaben pro Ziel)Teilaufgaben (mehrere Teilaufgaben pro Aufgabe)

Ich habe ein funktionierendes Front-End-Formular für jedes dieser Elemente, das verschachtelte Ressourcen verwendet. Meine routes.rb hat so etwas wie dieses

 resources :goal do
  resources :task do
    resources :subtask
  end
 end

Was ich jetzt machen möchte ist, dass alle diese Formulare in einer der Ansichten des User-Controllers richtig sind.

Dies ist das Formular, das ich zu erstellen versucht habe:

<%= form_for @task, url: {controller: 'task', action: 'create'} do |f| %>

 <%= f.label :description %>

 <%= f.text_field :description %>

 <%= f.submit "Add Goal", class: "btn" %>

<% end %>

Aber ich bekomme am Ende diesen Fehler

No route matches {:action=>"create", :controller=>"task", :id=>"1"}

The: id => 1 entspricht der Benutzerseite, auf der ich mich befinde http: // localhost: 3000 / user / 1)

Was ich verstehe ist, dass es nirgends die goal_id gibt, für die dieser Schritt vorgesehen ist. Keine Ahnung, wie man das umsetzt.

Eine andere Sache, die ich bemerkt habe, ist, dass eine Antwort aufrake routes zeigt viele URI-Pfade, aber nichts für die POST-Methode. Es erlaubt mir nicht, einen Pfad von dort im @ zu verwendurl: imform_for weil es nicht mit der POST-Methode übereinstimmt.

Also meine Fragen sind:

Wie route ich ein form_for das, wenn du Ressourcen verschachtelt hast?Wie kann ich die ID der übergeordneten Ressource angeben, während ich form_for verwende, damit meine Erstellungsaktion ordnungsgemäß weitergeleitet wird?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage