Primary_key sin auto_increment

Buenas, cómo podria decirle en la migración para desactivar el
auto_increment y mantener el id como primary key, se puede hacer?
Gracias

Miguel Angel Calleja Lázaro
escribió:> Buenas, cómo podria decirle en la migración para desactivar el

auto_increment y mantener el id como primary key, se puede hacer? Gracias


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

Ésta no creo que sea la solución más apropiada porque el id dejará de
ser primary_key y a lo mejor da problemas en las asociaciones entre
tablas
create_table :projects, :id=> false do |t|
t.integer :id, :null=>false
end

alguna sugerencia? gracias

Sigo tratando de usar ‘id’ como primary_key pero desactivando el
auto_increment, asi que he probado ésto:

La
migración
create_table :projects, :id=> false do |t|
t.integer :id, :null=>false
t.string :name
end

Y en el modelo:

self.primary_key = ‘id’

Al tratar de crear un recurso en el log me aparece:

WARNING: Can’t mass-assign these protected attributes: id

Estoy haciendo algo mal? o se puede hacer de otra forma?

2008/4/10, Miguel Angel Calleja Lázaro [email protected]:

Al tratar de crear un recurso en el log me aparece:

WARNING: Can’t mass-assign these protected attributes: id

Estoy haciendo algo mal? o se puede hacer de otra forma?

Creo, que no tengo mucha idea, que el mensaje no tiene nada que ver
con que estés intentando que no sea autoincremental.

Creo que es porque el atributo id es protegido y no puedes usar cosas
como:

Recurso.create( :id => ‘1’ )
Recurso.new( :id => ‘1’ )
Recurso.create( params[:recurso] )

Y tienes que asigar el valor a este atributo de manera explícita:

r = Recurso.new()
r.id = 1
r.save

http://api.rubyonrails.com/classes/ActiveRecord/Base.html#M001390

Suerte
f.

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