Problema con variables Ruby on Rails


#1

Buenos Días, estoy haciendo una aplicación de pedidos en linea en Ruby
On Rails y tengo un problema que no e podido solucionar

Mi problema son el manejo de las variables en rails.

uno de los inconvenientes es que tengo un (select_tag) que lista los
descuentos (0, 10, 15) que se le otorgara al cleinte y que se le
aplicaran a el costo de los productos, pero primero no se como capturar
el valor que el usuario eligió del (select_tag) para restarlo al valor
del producto y segundo no se como guardar ese valor en la base de datos,
ya tengo un campo descuento.

el codigo que tengo es:

<%= select_tag “listadescuento”,options_for_select([ “0”, “10”, “15” ],
“0” %>

la pregunta como le asigno el valor que escogió el usuario a una
variable
o hay un método que me devuelva ese valor

gracias por su atencion


#2

Hola Esteban,
Ese select_tag deberia ser una propiedad del modelo, que en tu caso
imagino que seria pedido.

Para generar el formulario deberia ser algo asi:

#views/order/_form.html.erb ??
form_for @order … do |f|

f.select :listadescuento, [ “0”, “10”, “15” ]

end

Asi te generaria algo asi:

0 10 15

Otras variaciones serian por ejemplo

f.select :listadescuento,
[ [“10”,‘descuentito’], [“15”,‘descuentazo’] ],
, {include_blank: ‘No quiero descuento’})

No quiero descuento 10 15

Luego en la accion del controlador podras recuperar el pedido (order)
asi:

app/controllers/order.rb

def create
@order = Order.new(order_params) # Recupera los atributos
# pasados en el formulario usando
# metodo privado order_params
@order.save # Devuelve valor si supera
# las validaciones, nil si no
end

private # privado porque no es una accion del controlador
def order_params
params.require(:order).permit(:listadescuento, …etc… )
end

A ver si te sirve…


Aplicaciones web en rails a medida: http://drails.com