Verschachtelte Form Kind aktualisiert nur, wenn ein Elternteil Änderungen
-
21-09-2019 - |
Frage
In diesem Video (10 sec) können Sie sehen, dass das verschachtelte Attribut nur aktualisiert wird, wenn es Eltern Modell geändert wird.
Mit Schienen 3.0.0.beta und das vollständige Projekt ist auf Github .
Zusammenfassung von Modellen und Form:
class Project < ActiveRecord::Base
has_many :tasks
accepts_nested_attributes_for :tasks
end
class Task < ActiveRecord::Base
belongs_to :project
has_many :assignments
accepts_nested_attributes_for :assignments
end
class Assignment < ActiveRecord::Base
belongs_to :task
end
form_for(@project) do |f|
Project: f.text_field :name
f.fields_for :tasks do |task_form|
Task: task_form.text_field :name
task_form.fields_for :assignments do |assignment_form|
Assignment: assignment_form.text_field :name
end
end
f.submit
end
Lösung
EDIT2: Der gleiche Code funktioniert perfekt in Rails 2.3.5. Es scheint ein Fehler in der Beta-Version.
EDIT: Ich schrieb einen Test in meiner app dies zu simulieren. Hier ist das Ergebnis.
test "should update empresa" do
addr = empresas(:ufba).address
put_with users(:s_one), :update, :id => empresas(:ufba).to_param,
:empresa => { :address_attributes => {:id => empresas(:ufba).address.to_param,
:city => "Feira de Santana"}}
assert_not_nil assigns(:empresa)
assert_not_same addr, assigns(:empresa).address, "Endereco nao foi atualizado"
assert_redirected_to empresa_path(assigns(:empresa))
end
Es läuft ohne Fehler.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow