Dengan asumsi itu dapat diakses menggunakan kredensial database yang sama dan pada server MySQL yang sama, cara termudah adalah dengan menjalankan kueri yang menentukan database dan tabel di FROM
klausa kueri, seperti:
ActiveRecord::Base.connection.select_one(
"SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")
select_one
akan mengembalikan hash kolom ke nilai. Untuk informasi lebih lanjut tentang metode yang dapat Anda gunakan di connection
objek, lihat dokumentasi ini
.
Opsi kedua adalah membuat subkelas ActiveRecord dan memanggil establish_connection
:
class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
Anda juga perlu membuat blog
entri database di database.yml
. Anda mengajukan. Lihat membangun_koneksi
untuk lebih jelasnya, walaupun sayangnya penggunaan cara ini sebenarnya hanya diketahui dengan melihat source code establish_connection
.
Kemudian Anda dapat menggunakan koneksi database blog dalam kueri, seperti:
Blog.connection.select_one("SELECT * FROM posts ...")
Apa yang baik tentang melakukannya dengan cara ini sekarang Anda memiliki tempat yang bagus untuk mendefinisikan metode (di kelas Blog, sebagai metode kelas) untuk mengambil data, seperti yang telah saya lakukan di atas.
Kedua strategi ini harus bekerja dengan baik dengan Rails 2.x atau 3.x.