Rails 基于用户输入的动态数据库连接?

发布于 2024-11-15 01:47:33 字数 169 浏览 3 评论 0原文

我想做的是根据用户在网页上输入的内容使用 Rails 动态连接到数据库,我是 ruby​​ 新手,不确定如何执行此操作,我想要支持任何常见数据库,但这样做使用活动记录要求您拥有实际的数据库,这不好,我希望能够连接到任何数据库,而无需将其实际安装在我的服务器上。

有什么想法吗?

干杯, 安德烈

What I am trying to do is to connect to a database dynamically with rails based on what the user puts in on the web page, I am new to ruby and not sure how to do this, I want support for any common databases but doing it with active record requires you to have the actual database and that is not good, I want to be able to connect to any database without actually having it on my server.

Any ideas?

Cheers,
Andrei

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

祁梦 2024-11-22 01:47:33

您可以通过在流程中的某个时刻调用 external_connection 来更改要使用的数据库连接。

ActiveRecord::Base.establish_connection(
:adapter => 'mysql',
:host => 'localhost',
:username => 'name',
:password => 'password',
:database => 'db_name'
)

如果您需要这样做,您甚至应该能够在 before 过滤器中执行此操作,或者在各个模型上调用external_connection,以便它们使用不同的数据库。

You can change the database connection that you want to use by calling establish_connection at some point during the flow

ActiveRecord::Base.establish_connection(
:adapter => 'mysql',
:host => 'localhost',
:username => 'name',
:password => 'password',
:database => 'db_name'
)

You should even be able to do this in a before filter, if that is what you need to do, or call establish_connection on individual models so that they use a different database.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文