Extraño problema al grabar registro en Ac tiveRecord

Hola gente, tengo un problema bien raro con AR, que me ha llevado casi
todo
el dia y no doy con el, sucede que al grabar un registro, el metodo save
me
retorna 1, y no graba el registro, hasta donde he visto, no deberia
retornar
uno, deberia retornar false o el mismo objeto en caso se grabo
correctamente, aqui dejo algo de mi codigo:

#Modelo propiedad
class Property <
ActiveRecord::Base

belongs_to :owner, :polymorphic =>
true

belongs_to :district, :counter_cache => true
end

#Modelo Casa
class House < Property
end

#Controlador
class PropertiesController < ApplicationController

def
create

 @property =

params[:type].constantize.new(params[:property])

  if current_user.properties <<

@property

     flash[:notice] = "Tu anuncio se ha publicado

correctamente."
redirect_to
properties_path

else

     render :action=> params[:type].underscore

end


end

Como ven estoy usando 2 cosas para mis modelos: Single Table Inheritance
y
Polymorphic associations ya que tengo varios tipos de inmuebles y el
propietario de un inmueble puede ser un usuario particular o una
inmobiliaria, explico esto para que se entienda en algo lo que trato de
hacer.

He probado tanto desde el navegador como en la consola, y en ningun lado
me
lanza una exepción al momento de grabar, pidiendo ayuda en el canal de
Rails
en ingles, me dijeron que podria ser que tenga un campo con restriccion
NOT
NULL en la tabla y que no le estea pasando algun valor, pero no es eso,
porque ya lo comprobe asignandole valores a todos los campos.

Aqui dejo 2 cosas que tal vez puedan ayudar en algo:

  1. La definicion de mi tabla: http://pastie.caboo.se/174938
  2. La salida de mi development.log cuando trato de crear un nuevo
    inmueble:
    http://pastie.caboo.se/174943

De antemanos muchas gracias por su tiempo, ojalá alguien pueda darme
alguna
pista.

Saludos.

On Apr 4, 2008, at 1:15 , Ruben. D. wrote:

Hola gente, tengo un problema bien raro con AR, que me ha llevado
casi todo el dia y no doy con el, sucede que al grabar un registro,
el metodo save me retorna 1, y no graba el registro, hasta donde he
visto, no deberia retornar uno, deberia retornar false o el mismo
objeto en caso se grabo correctamente, aqui dejo algo de mi codigo:

Solo una idea loca.

Resulta sospechosa la columna “transaction” que tienes en PROPERTIES.

El metodo AR#transaction existe y podria estar pasando que por algun
lugar exista algo como

property.transaction do
  ... se graba aqui ...
end

y se este invocando a Property#transaction, que simplemente ignora el
bloque y no hace nada.

Xavier, a mi amigo se lo digo en broma, pero si te lo digo en serio:
Deberias estar en la Nasa hombre!, muchas gracias Xavi ;).

Saludos.

El día 3/04/08, Xavier N. [email protected] escribió:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs