Re: Acceder a multiples bases de datos

Sigo atrancado con esto.

Ahora, en mi aplicación si pongo
http://localhost/controlador_b/buscar_noticia funciona perfectamente
Entonces, es cuando quiero que el buscar_noticia sea ejecutado desde el
controlador_a
ejecuto http://localhost/controlador_a/listar_noticia y me dice:

undefined method `buscar_noticia’ for Controlador_b:Class

el código que falla es:

@noticias = Controlador_b.buscar_noticia

Seguro que estoy haciendo algo mal, pero no doy con la solución

----- Mensaje original ----
De: Xavier N. [email protected]
Para: La lista sobre Ruby On Rails (rubyonrails.com) en castellano
[email protected]
Enviado: viernes, 26 de enero, 2007 12:45:04
Asunto: Re: [Ror-es] Acceder a multiples bases de datos

On Jan 26, 2007, at 12:22 PM, congrio wrote:

Ok, con lo que me has dado funciona. Pero no a la vez, o no se como
llamarlo.
Ahora, lo que me salen son los datos de la base de datos B y antes
solo salian los de la base de datos A
Lo que no se es como desde el mismo controlador hacer referencia a
A y a B simultaneamente.

No se si me explico bien. Encima no estoy nada suelto en desarrollo
con rails

Ahi lo que veo que has de distinguir claramente es que la base de
datos esta asociada a los modelos.

Por defecto en Rails todos los modelos usan la misma base de datos
(por ejemplo, production), que es aquella en cuyas tablas se hacen
persitentes. Pero puedes tener los modelos distribuidos por varias
bases de datos. Lo que si que ha de pasar es que cada modelo este
asociado a una sola de ellas (y por lo general sus relacionados).

Si lo tiene configurado asi con lo que explique en el anterior mail
va todo solo, no has de preocuparte de la base de datos de la que
viene User.find(1), ni donde se graba document.save, AR ya lanza el
SQL contra la que toque transparentemente.

– fxn

P.D.: No se soportan transacctiones que involucren modelos de mas de
una base de datos.


Ror-es mailing list
[email protected]


LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com

El Monday 29 January 2007 08:51:23 congrio
escribió:> el código que falla es:

@noticias = Controlador_b.buscar_noticia

Hombre, para empezar, buscar_noticia es un método de instancia de
Controlador_b, y no un método de clase (que es como lo estás invocando).

De todos modos, no creo que instanciar Controlador_b y llamar a
buscar_noticia
sea una solución limpia. Si el código de buscar_noticia lo vas a invocar en
más de un punto, quizás debieras pensar incluirlo en alguna biblioteca (en
lib/) o incluso en el ApplicationController (prefiero la primera solución,
pero bueno).

De todos modos, no sé qué quieres hacer exactamente.

Saludos.


Imobach González Sosa
banot.net
Correo-e: imobachgs en banot punto net