Min*_*ure 6 mysql wordpress activerecord ruby-on-rails
我有一个带有wordpress博客的rails应用程序在侧面(完全单独在/ blog).
客户想要访问rails应用程序主主页上的最新博客帖子,所以我需要对word-press数据库进行一次性的mysql查询.我将如何在rails应用程序中执行此操作.在数据库方面,word-press完全从rails中获取.
干杯.
假设可以使用相同的数据库凭据并在同一MySQL服务器上访问它,最简单的方法是运行查询FROM,在查询子句中指定数据库和表,如下所示:
ActiveRecord::Base.connection.select_one(
"SELECT * FROM blog_database.posts ORDER BY created_at DESC LIMIT 1")
Run Code Online (Sandbox Code Playgroud)
select_one将返回列的哈希值.有关可以在connection对象上使用的方法的更多信息,请参阅此文档.
第二个选项是创建ActiveRecord的子类并调用establish_connection:
class Blog < ActiveRecord::Base
establish_connection :blog
def self.most_recent_post
connection.select_one("SELECT * FROM posts ...")
end
end
Run Code Online (Sandbox Code Playgroud)
您还需要blog在database.yml文件中创建一个数据库条目.有关更多详细信息,请参阅establish_connection,但遗憾的是,以这种方式使用它实际上只有通过查看源代码才能知道establish_connection.
然后,您可以在查询中使用博客数据库连接,如下所示:
Blog.connection.select_one("SELECT * FROM posts ...")
Run Code Online (Sandbox Code Playgroud)
这样做的好处是现在你有一个很好的地方来定义一个方法(在Blog类中,作为一个类方法)来获取数据,就像我上面所做的那样.
这两种策略都适用于Rails 2.x或3.x.
| 归档时间: |
|
| 查看次数: |
2457 次 |
| 最近记录: |