Frage

Ich habe eine Form, die ich brauche für eine Tabelle anzuzeigen, die eine Beziehung mit ein paar anderen Tabellen hat. Zum Beispiel habe ich eine Tabelle „Fälle“ (man denkt, Ermittler Fall ist), dass has_one Antragsteller und has_one Client.

für den Fall, dass Daten auszufüllen, Kundendaten und Berechtigte Daten

würde ich die Form wie die Felder angezeigt werden soll. Gibt es einen einfachen Weg, dies zu tun, so dass, wenn es abgegeben hat, wäre es so einfach sein wie:

case = Case.new(params[:case])
case.save

Wie wäre es, wenn ich gerade die Vorlage und ein Formular nur für die Falldaten zu speichern?

War es hilfreich?

Lösung

Klingt wie Sie sind für die accepts_nested_attributes_for Methode von Active suchen. Sie müssen Ihre Form Handwerk mit

- form.fields_for :claimant do |claimant_form|
  = claimant_form.text_field :name

Sie können viel mehr Informationen in Ryan Daigle Blog-Post

Andere Tipps

Ich glaube nicht, es gibt einen Weg, wo man nur case.save anrufen und es wird funktionieren.

Um die Form zu machen, schauen Sie in mit fields_for. http://api.rubyonrails.org/classes/ActionView/Helpers/ FormHelper.html # M001605

fields_for können Sie Felder hinzufügen, die in verschiedenen POST-Variablen gespeichert werden, so dass, wenn Sie die Felder korrekt konfigurieren dann in Ihrer neuen Methode könnten Sie möglicherweise so etwas tun:

claimant = Claimant.new(params[:claimant])
claimant.save

Was nicht sonderlich komplizierter ist.

Sehen Sie mein complex-form-Beispiele zum Erstellen von verschachtelten Multi -Modell bildet. Dieser wird aktualisiert mit Rails 2.3 des accepts_nested_attributes_for zu arbeiten.

Es ermöglicht Ihnen, nisten die Verbände alle unter params[:case] wie Sie wollen. Wenn Sie case.save Anruf alles andere auch gespeichert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top