En la consola funciona cómo se espera (cospro == 30.00 y unidades == 10)
El control text_field contiene 30.00 cuando se esperaba 300.00. Cuál es
la razón ?, ó estoy entiendo mal el concepto.
De antemano gracias por la ayuda
Saludos
Jaime Mora R.
La solución “sencilla” parece ser utilizar un nombre diferente para el
método y para el atributo, para así obligar a Rails a utilizar sólo tu
método. Pero la verdad es que es uno de los comportamientos en Rails
más raros que recuerdo.
La solució® ¦quot;sencilla" parece ser utilizar un nombre diferente para el
mé´¯do y para el atributo, para así ¯bligar a Rails a utilizar só¬¯ tu
mé´¯do. Pero la verdad es que es uno de los comportamientos en Rails
má³ raros que recuerdo.
Que tal !. la situacion es la siguiente:
Se pretende crear una aplicacion para dar de alta animales que lleguen a
un
zoologico, cabe destacar que los animales recibidos pueden ser entregado
por
un donante voluntario o pueden haber sido regogidos en algun decomiso,
para
esto pense en los siguientes modelos:
animal.rb: que tiene los datos generales del animal.
institucion.rb.: que contiene los datos de la instucion q realizo el
decomiso por el cual fue entregado el anima al zoologico.
decomiso.rb:que contiene la informacion del decomiso ligada a la
institcion
ademas de informacion extra como la persona de la institucion q la
entrego,
etc.
donante.rb.-que contiene los datos de la persona q tenia el animal y
decidio
donarlo.
Lo que prentendo hacer es que en una sola accion se den de alta todos
los
datos(excepto los datos de la institucion que se deben de dar de alta
desde
antes).
Lo que creo que debo de hacer es recibir todos los objetos y guardarlos,
pero como hago para que no se guarden hasta que todos cumplan las
condiciones establecidas en los modelos como presencia de algunos
campos,
etc.
No se si me logre dar a entender, pero a groso modo lo que pretende es
no
gurdar nada hasta que se cumplan todas las condiciones de los modelos.
Gracias de antemano! espero haber podido darme a entender.
Y lo que yo quiero es q no se guarde nada de ningun modelos hasta que se
satisfagan los requerimientos de los tres modelos.
SUpongo q debe ser falcil y me estoy complicando la vida pero las pequeñas
aplicaciones que he hecho solo recibo un objeto y pues no he tenido
problemas.
Con una transacción, se van haciendo las operaciones en la BBDD y si
salta
alguna excepción, se cancela la ejecución y se hace un rollback en la
BBDD.
Se hace más o menos asÃ
def tu_metodo
begin
Animal.transaction do #—> Aquà no importa el modelo que pongas,
creo
recordar @animal = Animal.new(params[:animal]) @animal.save! #–> ponle la exclamación para que en caso de que
no
se guarde salte excepción @decomiso = Decomiso.new(params[:decomiso]) @decomiso.save! @donante = Donante.new(params[:donante]) @donante.save!
end
rescue
flash[:error] = $!.to_s # -> para poner el texto de la excepción
en
el flash
end
end
Que tal !. la situacion es la siguiente:
Se pretende crear una aplicacion para dar de alta animales que lleguen a un
zoologico, cabe destacar que los animales recibidos pueden ser entregado por
un donante voluntario o pueden haber sido regogidos en algun decomiso, para
esto pense en los siguientes modelos:
Todo esto que mencionás son reglas de negocio, y creo que no
seríacorrecto que estén en el controlador.
Podrías pensar en un modelo de datos Recepción, que es el encargado de
implementar toda esta lógica que decís:
class Recepcion < AR::Base
belongs_to :animal
belongs_to :donante
belongs_to :decomiso
before_create :hacer_cosas
protected
def hacer_cosas
# Validás cosas, das de alta, etc…
end
end
Saludos!
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.