Estoy tratando de recorrer una lista de registros que se recuperan con find_each.Error de salto local Ningún bloque dado error (rendimiento) en find_each
He impreso el código de mi controlador en la respuesta en este stack overflow post, pero sigo obteniendo el error "No dar bloque (Rendimiento)".
Estoy empezando en Ruby and Rails y todavía no he encontrado una explicación completa (muchos ejemplos básicos) de bloques y rendimiento que me da lo que necesito.
Mi código es el siguiente:
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
y el error de puntos a la línea con find_each.
Sé que necesito un bloque para ceder, pero cómo se vería exactamente en este caso particular se me escapa.
Gracias por cualquier sugerencia.
Estás ignorando el valor de retorno de 'new_subject.save'. – meagar