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:
- La definicion de mi tabla: Parked at Loopia
- La salida de mi development.log cuando trato de crear un nuevo
inmueble:
Parked at Loopia
De antemanos muchas gracias por su tiempo, ojalá alguien pueda darme
alguna
pista.
Saludos.