[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