Hola gente del foro, estoy haciendo una aplicación que me permite crear
un producto con diferentes datos(titulo,descripcion,image_url y
categoria). La categoria se la debe seleccionar mediante un combobox que
carga las categorias disponible de la tabla “Categorias” de la base de
datos. El problema surge cuando activo el validates para el modelo
“Producto”, ya que cuando no ingreso algun dato(es decir no se cumple la
condición de validación) en vez de marcarme los campos erróneos me
muestra el siguiente error:
NoMethodError in Productos#create
Showing productos/new.html.erb where line # raised:
You have a nil object when you didn’t expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each
Lo que yo entiendo de este error es que hubo un problema al recargar la
página new debido a que el array que estoy recorriendo para formar el
combobox de categorÃas disponibles me devolvió un nulo. AgradecerÃa
cualquier ayuda. Saludos.
Por cierto, ¿hay alguna razón para hacer el select a mano?
Creo que serÃa mejor hacerlo con el helper:
<% for_form @producto do |f| %>
<%= f.select :categoria, @categorias.map {|cat| [cat.nombre, cat.id]} %>
<% end %>
Por cierto, ¿hay alguna razón para hacer el select a mano?
Creo que serÃa mejor hacerlo con el helper:
<% for_form @producto do |f| %>
<%= f.select :categoria, @categorias.map {|cat| [cat.nombre, cat.id]} %>
<% end %>
pero cuando te falla la validación, estás cargando esa misma
vista sin haber inicializado el listado
por que debo inicializar el listado y no el producto, si estoy cargando
una nueva vista?
pero cuando te falla la validación, estás cargando esa misma
vista sin haber inicializado el listado
por que debo inicializar el listado y no el producto, si estoy cargando
una nueva vista?
Perdón, si estaba inicializada al comienzo de create como:
@producto = Producto.new(params[:producto])
Saludos.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.