Crear una tabla con dos primary_key

Necesito crear una tabla con dos primary key, id e idioma_id, cómo puedo
hacerlo? Es con vistas a hacer una aplicación multiidioma, tengo un id y
su idioma correspondiente, luego en el frontend depende del idioma en el
que esté busco por 2 campos, por su id y por su idioma y me dará la fila.

Tabla: id(Pk),idioma_id(pk), nombre, texto, …
id idioma_id nombre texto
1 1 en español en
español1 2 en inglés en
inglés
Creo los modelos con migraciones, cómo puedo crear 2 primary key en mi
tabla? es posible? gracias

Miguel,
Existe una gema para claves compuestas:
http://compositekeys.rubyforge.org/
El autor es “Dr Nic” http://drnicwilliams.com/
Saludos,

Ruben.

Ruben , Me ganaste de mano, exacto esa gema resuelve eso y hay otra muy
interesante q hace q un modelo pueda hablar con mas de una BD a la vez .
Tambien por Dr. Nic

On 5/24/07, Ruben Díaz [email protected] wrote:

On 5/24/07, Miguel Angel Calleja Lázaro <[email protected] > wrote:

1 1 en español en español


Ror-es mailing list
[email protected]
simplelogica.net


Federico B.
www.fbrubacher.com

Colonial Duty Free Shop
www.colonial.com.uy

Ruben Díaz
escribió:

mailto:[email protected]> wrote:
1 1 en español en español
1 2 en inglés en inglés


Ror-es mailing list
[email protected]
simplelogica.net

He intentado instalarla en el servidor pero no me ha dejado, será por el
hosting que no me dejará instalar, no?

gem install composite_primary_keys
Bulk updating Gem source index for: http://gems.rubyforge.org
ERROR: While executing gem … (Gem::GemNotFoundException)
Could not find composite_primary_keys (> 0) in any repository

On 25/05/07, Miguel Angel Calleja Lázaro [email protected] wrote:

Miguel Angel Calleja Lázaro escribió:

gem install composite_primary_keys
Bulk updating Gem source index for: http://gems.rubyforge.org
ERROR: While executing gem … (Gem::GemNotFoundException)
Could not find composite_primary_keys (> 0) in any repository

sudo gem install composite_primary_keys ?

Y por favor, recordad borrar las partes no relevantes de los emails
que citéis. No hace falta mandar 10 kb de mensaje para responder 2
lineas. Gracias.


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o simplelogica.net
Recuerda comer mucha fruta y verdura.

Miguel Angel Calleja Lázaro
escribió:

[email protected]
simplelogica.net

Lo intento otra vez y me sale otro error de permisos:
gem install composite_primary_keys
Bulk updating Gem source index for: http://gems.rubyforge.org
ERROR: While executing gem … (Errno::EACCES)
Permission denied -
/usr/lib/ruby/gems/1.8/cache/composite_primary_keys-0.8.4.gem
por qué puede ser?

Hola

Podrías instalar la gem en local y luego desempaquetarla en el
directorio vendor, así cuando subas la aplicación al servidor ya la
tienes disponible.

En tu ordenador en local haces

sudo gem install composite_primary_keys

luego vas a al directorio vendor y creas un directorio gems (no es
imprescindible pero asi queda más ordenado)

gem unpack composite_primary_keys

y te crea un directorio con el contenido de la gem,
después en el environment.rb pones

config.load_paths += %W(
#{RAILS_ROOT}/vendor/gems/composite_primary_keys/lib )

para que busque ahí al cargar

Por otra parte si necesitas una versión de rails diferente a la que hay
en el servidor también puedes meter tu versión de rails en vendor haciendo

rake rails:freeze:gems

Saludos,
Amaia


~~~ ~~~
Amaia C.
~~~ ~~~
Dabne Tecnologías de la
Informaciónc/Los Madrazo, 16 - 3º 4
28014 Madrid
Tel.: (+34) 91 369 17 50
www.dabne.net
~~~ ~~~

Miguel Angel Calleja Lázaro
escribió:> Manuel González Noriega escribió:

Manuel González Noriega
escribió:

sudo gem install composite_primary_keys ?

Al ser un servidor compartido creo que no puedo instalar ni actualizar
nada, me sale el siguiente mensaje:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:

    #1) Respect the privacy of others.
    #2) Think before you type.

Por éso mismo me gusta estar informado de todo antes de hacer algo,
llevo poco más de 2 meses con rails y voy preguntando cualquier cosa por
muy tonta que sea y os agradezco mucho vuestra ayuda.

Respecto a lo mío estoy limitado entonces a que el hosting actualize
rails, no puedo hacer nada creo, enviarles un mail y comentarles el
problema, pero si cada vez que quiera instalar una gema no voy a poder
es un poco putada

Borja
Martín escribió:

gemhome: /home//.gems
gempath:

  • /home//local/ruby/lib/ruby/gems/1.8
  • /home//.gems

saludos

Muchas gracias Amaia, lo que me has puesto parece fácil de hacer y lo
que me comentas Borja lo acabo de ver en un post [1], lo que no quiere
mi jefe es que administremos nosotros ruby pero que se pueda instalar
gemas si que se puede entonces. Muchas gracias

[1] http://forums.site5.com/showthread.php?t=11954

Buenas,
en un servidor compartido sí que puedes instalar la versión de rails y
las gemas que quieras. Yo lo que hice en Dreamhost antes de pasarme a un
vps, fue instalar el intérprete de ruby en mi home y modificar el path
para que diese preferencia al ruby instalado por mí. Luego ya instalaba
rails y las gemas en esa carpeta. Y si no recuerdo mal, también puedes
modificar las rutas de dónde están instaladas las gemas
modificando/creando el fichero .gemrc en tu home, que vendría a tener un
formato parecido esto:

gemhome: /home//.gems
gempath:

  • /home//local/ruby/lib/ruby/gems/1.8
  • /home//.gems

saludos

Miguel Angel Calleja Lázaro
escribió:> Manuel González Noriega escribió:

Administrator. It usually boils down to these two things:
problema, pero si cada vez que quiera instalar una gema no voy a poder
es un poco putada



/**

aquí tienes
cómohttp://nateclark.com/articles/2006/10/20/dreamhost-your-own-packages-
and-gems

marze

El 25/05/2007, a las 12:28, Borja
Martín escribió:

Buenas,

tienes más info de lo de meter todo en vendor en
http://errtheblog.com/post/2120
que lo explican mejor que yo :wink:
(en inglés)

saludos
Amaia

Miguel Angel Calleja Lázaro
escribió:> Borja Martín escribió: