Como se que valor se selecciona


#1

Buenas…
Tengo un problema cuando estoy guardando el valor que estoy
seleccionando de un combo list. Cuando estoy haciendo la inclusion en la
tabla el valor que selecciono del combo se guarda como 0, es decir, como
si no se fuese seleccionado ningun elemento.En que variable se guarda
para usarla en el controlador. Mi codigo es asi…

En la Vista

Lista de Ingredientes:
<% @incidencias.each do |ingrediente|%> <%= ingrediente.descripcion %>>

  <%= ingrediente.id_ingrediente %>
  <%= ingrediente.descripcion %>
</option>

<% end %>


en el controlador tengo:::

def validar

@id_comida = params[:tid_comida].to_s
@descripcion = params[:tdescripcion].to_s
@cantidad = params[:tcantidad].to_s
@id_ingrediente = params[:id_ingrediente].to_s
if @tipo== "agregar"
begin
  objeto2 = Detalle_comida.new
  objeto2.id_comida = @id_comida
  objeto2.id_ingrediente = @id_ingrediente
  objeto2.cantidad_ingrediente = @cantidad
  objeto2.save
  @incidencias = Ingrediente.find(:all)
  render :template => "layouts/comidas"En el Controlador:

end

end


#2

Estás pasando mal los datos.

Puedes hacer esto:
-pones el name del select como id_ingrediente, o más lógico y suponiendo
que
id_ingrediente sea una clave foránea de comida: comida[id_ingrediente] y
en
el controlador pones @id_ingrediente = params[:id_ingrediente].to_s en
el
primer caso y en el segundo @id_ingrediente =
params[:comida][:id_ingrediente].to_s.

-o si no quieres tocar tu vista, en el controlador pones :
@id_ingrediente
= params[:id_ingrediente][:id_ingrediente].to_s, aunque esto es muy poco
lógico.

Aún así, sería mejor que te acostumbrases a las convenciones de ruby on
rails y poner las claves foráneas con el nombre de la tabla en singular
seguido por _id, así: ingrediente_id

Espero haberte ayudado