J'utilise une structure d'échafaudage de base. Ce dont j'ai besoin, c'est d'ajouter une action «modérée» et de visualiser en changeant published
en true
. Dans mon idée, sur moderate.html je devrais obtenir la liste de toutes les entrées non publiées avec la possibilité de changer et enregistrer leurs paramètres. Voici les parties de mon code:"méthode indéfinie` enumerable_enumerator_path '"erreur
#names_controller.rb
def moderate
@name = Name.find(:all, :conditions => {:published => false})
respond_to do |format|
format.html
format.xml
end
end
#moderate.html.erb
<% form_for @name.each do |f| %>
<%= f.error_messages %>
<%= f.text_field :which %>
<%= f.text_field :what %>
<%= f.check_box :published %>
<%= f.submit %>
</p>
<% end %>
Au lieu de cela, je reçois cette erreur:
NoMethodError in Names#moderate
Showing app/views/names/moderate.html.erb where line #1 raised:
undefined method `enumerable_enumerator_path' for #<ActionView::Base:0x1042c3e90>
Extracted source (around line #1)
Alors, peut vous aider à newbie s'il vous plaît?
ruby 1.8.7 (2009-06-12 patchlevel 174)
[universal-darwin10.0] Rails 2.3.5
Votre problème est que vous passez @ name.each comme variable dans le form_for, mais je ne suis pas sûr de la solution. Essayez-vous de modifier plus d'un enregistrement à la fois? –
Oui, je suis. J'ai besoin d'une liste de tous les enregistrements 'non publiés'. Le problème est certainement en combinaison de 'form_for' et '.each', mais ne connaît pas de solution. – Maay