Hola lista. Tengo un problema bastante elemental con ActiveRecord:
No uso migrations, y por convenio, uso nombretabla_id como la clave
primaria. Para ello, en mi modelo pongo, por ejemplo:
class Post < ActiveRecord::Base
set_primary_key “post_id”
set_table_name “post”
end
Y en mysql, la columna post_id la tengo creada como NOT NULL
auto_increment. Si lo hago asi, active record, al añadir un registro
nuevo, simplemente pasa de esa columna, y p.ej al hacer un insert,
envia el siguiente sql:
INSERT INTO post
(body
, created_by
, subject
, created_at
,
post_status
) values(…)
Lo qual funciona bien para añadir registros nuevos, pero para editar,
no funciona porque me crea siempre uno de nuevo en lugar de hacer un
update ( y post_id siempre es nil).
Me falta algo, o cómo deberia hacerlo?
PD: Por cierto, que diferencia hay entre set_primary_key y
self.primary_key= ?
Gracias!
–
Dani