Dans mon application rails, j'ai deux modèles, une ClientPage
y un ContentSection
, donde ClientPage has_many :content_sections
. J'utilise le nested_form
gem aux deux modèles à éditer avec le même formulaire. Cela fonctionne bien tant que la ClientPage
a au moins un ContentSection
mais s'il n'y a pas d'association ClientSections
l'utilisation nested_form
's link_to_add
rejette l'erreur suivante NoMethodError
:
undefined method `values_at' for nil:NilClass
Le formulaire est structuré comme suit :
<%= nested_form_for page, form_options do |f| %>
# ClientPage fields
# ClientSections
<%= f.link_to_add "Add new section", :content_sections %>
<% end %>
Tant qu'il y a au moins un ClientSection
associé à la page, cela fonctionne bien. Dès qu'il n'y en a pas, l'erreur est déclenchée. En supprimant le link_to_add
empêche également l'erreur d'être déclenchée. (Il existe en fait un second modèle imbriqué sous le nom de ContentSection
et le même problème se pose s'il n'y a pas de modèles associés).
Je ne suis pas sûr de ce qui m'échappe, mais toute indication ou suggestion serait grandement appréciée.