J'ai une forme imbriquée partielle dans un rail vue que l'on appelle comme çaProblème d'accès variable dans une forme imbriquée
<% f.fields_for :invoice_item_numbers do |item_no_form| %>
<%= render 'invoice_item_number', :f => item_no_form %>
<% end %>
et la partie (_invoice_item_number.html.erb) se présente comme suit
<div class='invoice_item_numbers'>
<% if f.object.new_record? %>
<li><%= f.label :item_number %><%= f.text_field :item_number %>
<%= link_to_function "remove", "$(this).parent().remove()", :class => 'remove_link' %></li>
<% else %>
<li class="inline"><%= f.label :item_number %><%= f.text_field :item_number %>
</li><li class="inline"><%= f.label :description %><%= invoice_item_number.description %></li><li><%= f.label :amount %><%= f.text_field :amount %>
<%= f.check_box '_destroy', :class => 'remove_checkbox' %>
<%= f.label '_destroy', 'remove', :class => 'remove_label' %></li>
<% end %>
</div>
cela échoue avec le message d'erreur
undefined method `description' for nil:NilClass
Pourquoi invoice_item_number retourne un objet nul dans cette partie? Il est de toute évidence être définie en quelque sorte parce que si je change à quelque chose d'autre (par exemple item_number.description
le message d'erreur devient undefined local variable or method
item_number » pour # instead. The invoice_item_number object that is being displayed by this partial is being used perfectly well by the form helpers as
<% = f.text_field: item_number%>and
<% f.text_field: Montant%>both work perfectly well. I have tried a number of solutions such as using
@ invoice_item_number` et définir explicitement un objet dans la méthode render, mais ceux-ci ne sont pas travaillé
Vraisemblablement il y a une réponse très simple à cette
doux. (J'ai mal lu votre question, désolé ;-) – ohho
Pas de problème. Je vous suis reconnaissant d'avoir pris le temps de le lire. Merci. – brad
est-ce moi ou sont la majorité des «célèbres» rails développeurs nommés Ryan? Ryan Bigg, Ryan Bates, Ryan Daigle ... wtf hahah – imjp