Ich versuche, durch eine Liste von Datensätzen, die mit find_each abgerufen werden.Lokaler Sprung Fehler Kein Block gegeben (Ausbeute) Fehler auf find_each
Ich gemustert meine Controller-Code auf die Antwort in diesem stack overflow post, aber ich bekomme immer noch eine "No Block Given (Yield)" -Fehler.
Ich beginne gerade in Ruby and Rails und ich habe noch keine vollständige Erklärung (viele grundlegende Beispiele) von Blöcken und Ausbeute gefunden, die mir gibt, was ich brauche.
Mein Code sieht wie folgt aus:
def select_save
@class = params[:class]
@student_id = params[:id]
@class.each do |id|
old_subject = Subject.find(id)
new_subject = old_subject.dup
new_subject.student_id = @student_id
new_subject.save
Assignment.find_each.where(:subject_id => id) do |assignments|
assignments.each do |a|
new_assignment = a.dup
new_assignment.subject_id = new_subject.id
new_assignment.save
end
end
end
respond_to do |format|
format.html { redirect_to @student, :notice => 'Subject and assignments created.' }
end
end
und die Fehlerpunkte auf der Linie mit find_each.
Ich weiß, ich brauche einen Block zu ergeben, aber wie genau das in diesem speziellen Fall aussehen würde, entgeht mir.
Vielen Dank für Anregungen.
Sie ignorieren den Rückgabewert von 'new_subject.save'. – meagar