我需要在Ruby on Rails中搜索两个数据库。两者都与书籍有关:名称,ISBN和价格。
我需要在同一个请求中搜索。可能吗?我已经创建了搜索一个数据库的应用程序。 Here是我遵循的教程。
答案 0 :(得分:0)
我想你的意思是表,如果它们是相关的,那么你可以在一个请求中进行搜索。
有关示例,请参阅http://guides.rubyonrails.org/association_basics.html。
示例是关于activerecord,Rails背后的数据库ORM。 他们使用关于书籍的模型,所以你不应该有遵循逻辑的问题。
编辑:既然你说它是关于不同的数据库,这里是一个如何同时连接到两个数据库的例子。您仍然需要在两者之间添加实现,请参阅上一部分。 在示例中,我甚至使用两个不同的数据库文件,一个在内存中,另一个在文件中,使用数据库引擎Sqliteclass Test < ActiveRecord::Base
establish_connection(
:adapter => "sqlite3",
:database => ":memory:"
)
end
class Test2 < ActiveRecord::Base
establish_connection(
:adapter => "sqlite3",
:database => "testing.db"
)
self.table_name = :tests
end
答案 1 :(得分:0)
我个人试图创建同时连接到多个数据库的rails应用程序,我很失望地说我不相信这是任何问题的合理解决方案。虽然它可以在技术上完成,但它涉及迫使Rails做很多事情,而这根本就没有意义。在接近逻辑之前,您需要搜索多个模型(这是您绝对需要的),您应该首先花一些时间来克服连接到多个数据库的障碍 - 特别是如果Ruby on Rails是适合该工作的工具
如果你认为你真的必须采用这种方法,我建议你看一下这里引用的一些答案: