Parece ser q existe una error en el mensaje origunal:
tengo una tabla padre: empresa (:id) con una tabla hijo uno a uno llamada actividads (empresa_id)
Código HTML:
empresa.rb
has_one :actividad
y
actividad.rb
belongs_to :empresa
con scaffold creo todo lo necesario para gestionar empresa.
AHORA LLEGAN LOS PROBLEMAS.
cuando quiero añadir al formulario de entrada de datos para empresa y segundo formulario.
creo las vistas para actividads, enlazo los formularios
pasando el id de empresa como parametro:
<%= start_form_tag :action => 'createcentro', :id => @empresa %>
y creo los metodos para crear un registro actividad al estilo del scaffold:
Código HTML:
def newactividad
@empresa = Empresa.find(params[:id])
end
def createactividad
@empresa = Empresa.find(params[:id])
@actividad = Actividad.new(params[:actividad])
@empresa.actividad =@actividad
--> if @actividad.save
flash[:notice] = 'Actividad was successfully created.'
redirect_to :action => 'show', :id => Empresa.find(params[:id])
else
render :action => 'newactividad', :id => Empresa.find(params[:id])
end
end
pero la linea
if @actividad.save me da un error indicando:
Código HTML:
Mysql::Error: #42S22Unknown column 'id' in 'where clause':
UPDATE actividads
SET `empresa_id` = 24, `iae` = NULL, ...
?->>> WHERE id = 0
no me gusta saltarme este paso y no comprobar q el registrpo se guardo,
pero de todas formas veo q algo estoy haciendo mal si tengo q pasar tanto parametro de aqui alli, pues la programacion por objetos no es asi.