Śledziłem odcinki Railscasts zagnieżdżonych formularzy i złożonych formularzy. Podczas tworzenia wielu modeli w jednym formularzu mogłem edytować, aktualizować, usuwać i tworzyć rekordy dla przykładowych modeli, które zostały zagnieżdżone w modelu wsadowym.oczekiwany Hash (got Array) dla param "próbek"
Od dłuższego czasu łamałem sobie głowę i próbowałem się przeszukiwać, ale nie mogłem znaleźć odpowiedniego rozwiązania dla rozwiązania tego problemu.
mój plik dziennika rozwoju daje mi następujący błąd.
BŁĘDZIE:
Status: 500 Internal Server Error
expected Hash (got Array) for param `samples'
w moim kontrolera mam akcja aktualizacja jak to
def update
@batch = Batch.find(params[:id])
respond_to do |format|
if @batch.update_attributes(params[:batch])
flash[:notice] = 'Successfully updated Batch.'
format.html { redirect_to(@batch) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @batch.errors, :status => :unprocessable_entity }
end
end
end
moim zdaniem jest coś takiego:
<%= form_for @batch do |f| %>
......
<%= f.fields_for :samples do |s_form| %>
.... s_form things
<% end %>
<% end %>
mój model zawiera takie same stuff:
has_many :samples, :dependent => :destroy
accepts_nested_attributes_for :samples, :reject_if => lambda { |a| a[:content].blank? }, :allow_destroy => true
Wszystkie sugestie są mile widziane.
wpadłem na podobny problem przy użyciu 'text_field_tag' w moim formularzu bo dostarczane Rails-2-styl args kiedy biegałam szyn 3. Czy widzisz siebie w ogóle to robić? Jeśli nie, czy możesz podać cały swój widok? (być może na pastie.org) – JellicleCat
Napotkano ten komunikat o błędzie, gdy tablica ciągów zawierała pewne elementy null. –