Más validaciones

Código postal y provincia se tienen que validar sólo si el país es
España.

Esto funciona:
validates_presence_of :provincia_id, :if => :pais_id == 1

Pero esto no funciona, y aunque el país no sea España ejecuta la
validación:
validates_format_of :cod_postal, :with => /^[0-9]{5}$/i, :if =>
:pais_id == 1

¿Alguien sabe por qué ocurre y cómo debería hacerlo?

s2 y gracias

Fernando C. wrote:

¿Alguien sabe por qué ocurre y cómo debería hacerlo?

s2 y gracias

http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M001331
:

validates_format_of :cod_postal, :with => /^[0-9]{5}$/i, :if =>
Proc.new {|user| user.pais_id == ‘1’}

Salud y belleza para todos,
Mauro.

Mauro P. wrote:

ActiveRecord::Validations::ClassMethods
:

validates_format_of :cod_postal, :with => /^[0-9]{5}$/i, :if =>
Proc.new {|user| user.pais_id == ‘1’}

Salud y belleza para todos,
Mauro.

Gracias, eso ha funcionado… en cuanto me he dado cuenta de que el
fallo era que pais_id es numérico:

:validates_format_of :cod_postal, :with => /^[0-9]{5}$/i, :if =>
Proc.new {|user| user.pais_id == 1}