[Ror-es] Poner nil cuando en params tenemos una cadena vacía
Ariel Fernando Diaz Bermejo
arieldiazbermejo at yahoo.com.ar
Fri Sep 29 20:38:27 GMT 2006
Hola amigos. Tengo un problema con las validaciones de algunos modelos en la aplicación que estoy desarrollando. El problema es cuando valido por ejemplo la inclusión de un atributo dentro de una lista de opciones, pero a su vez permito que sea nil. Entonces, tengo algo como lo siguiente:
# File <miapp/app/models/condicion_comercial.rb>
class CondicionComercial < ActiveRecord::Base
...
validates_inclusion_of :vencimiento, :in => %w(F S M P), :allow_nil => true
...
end
# File <miapp/app/views/condiciones_comerciales/_form.rhtml>
...
<%= select :condicion_comercial, :vencimiento, [[' - ',''], ['Fijo', 'F'],['Suma Días', 'S'],['Mensual', 'M'], ['Plan', 'P']] -%>
...
# File <miapp/app/controllers/condiciones_comerciales_controller.rb>
class CondicionesComercialesController < ApplicationController
...
def create
@condicion_comercial = CondicionComercial.find(params[:id])
@condicion_comercial.update_attributes(params[:condicion_comercial]
...
end
....
end
Bueno, el problema está que cuando params[:condicion_comercial][:vencimiento] es una cadena vacía (""), la validación me falla. ¿Cómo hago para que lo tome como nil y asi evitar que falle el validates_inclusion_of?
He probado también poniendo nil en el select del _form.rhml y tampoco sirvió:
...
<%= select :condicion_comercial, :vencimiento, [[' - ',nil], ['Fijo', 'F'],['Suma Días', 'S'],['Mensual', 'M'], ['Plan', 'P']] -%>
...
¿Alguna idea?
Saludos a todos,
Ariel Diaz
============
Analista en Computación
UNRC
---------------------------------
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
Probalo ya!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.simplelogica.net/pipermail/ror-es/attachments/20060929/088c5f28/attachment.htm
More information about the Ror-es
mailing list