Rails 4: fields_for dans fields_for
Je suis à l'apprentissage de RoR, et j'essaie de trouver comment définir un fields_for dans un autre has_one modèles comme celui-ci:
class Child < ActiveRecord::Base
belongs_to :father
accepts_nested_attributes_for :father
end
class Father < ActiveRecord::Base
has_one :child
belongs_to :grandfather
accepts_nested_attributes_for :grandfather
end
class Grandfather < ActiveRecord::Base
has_one :father
end
J'ai utilisé Imbriquée Modèle de Formulaire Partie 1 sur Railscasts pour obtenir ces:
Dans children_controller.rb:
def new
@child = Child.new
father=@child.build_father
father.build_grandfather
end
def child_params
params.require(:child).permit(:name, father_attributes:[:name], grandfather_attributes:[:name])
end
Et mon formulaire:
<%= form_for(@child) do |f| %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
mother:<br>
<%= f.fields_for :father do |ff| %>
<%= ff.label :name %>
<%= ff.text_field :name %><br>
grand mother:<br>
<%= f.fields_for :grandfather do |fff| %>
<%= fff.label :name %>
<%= fff.text_field :name %>
<% end %>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Je suis en train de récupérer les données avec:
<%= child.father.name %>
<%= child.father.grandfather.name %>
mais le grand-père de ne pas travailler.
Je ne trouve pas l'erreur(s)...quelqu'un pour vous aider dans cette démarche?
Merci!
OriginalL'auteur user3029400 | 2013-11-24
Vous devez vous connecter pour publier un commentaire.
Essayer de commutation:
:
Et de commutation:
:
OriginalL'auteur cschroed