0 0

rails中如何用一个model动态切换访问不同数据库5

各位达人,小弟最近项目碰到一个问题,一个学习系统,有不同院校,如何让不同院校的人访问各自的数据库,也就是要根据不同的院校动态的切换数据库,难点在于model只有一个,怎样才能让不同院校人动态的去取自己院校库中的数据,小弟曾想动态的切换establish_connection,但这样的话,一个院校切换,势必影响另外一个院校。因为establish_connection是一个全局的函数,整个app的数据库链接都会被重置。有木有大侠知道如何解决这个问题呢,小弟在这里跪谢了。
2012年5月23日 22:36

2个答案 按时间排序 按投票排序

1 0

http://www.leadfrenzy.net/comments.php?y=12&m=02&entry=entry120217-140758
看你反馈,你用的应该是第一种吧,你应该用第二种...
ActiveRecord::Base.establish_connection这种方式是改变全局的了.
而只在modle调用establish_connection,则只对其modle有效

一个院校一个modle,每个modle的establish_connection不同.这样应该是最保险的

2012年5月31日 09:51
0 0

不使用线程的话,应该每次使用前切换establish_connection是没有问题的.

  觉得你可以不同的院校用不同的model,公共部分写成module,动态生成所有院校的model

2012年5月27日 15:25

相关推荐

    Rails入门教程一(翻译).pdf

    Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,强调“约定优于配置”和“Don't Repeat Yourself”(DRY)原则,从而提高开发效率。 本教程首先会...

    好用的rails 2.0 Api 文档

    Rails 2.0 API 文档是一个非常宝贵的资源,它为开发者提供了全面的指南,以便于在使用Ruby on Rails 2.0版本时更好地理解和利用其框架功能。Ruby on Rails(简称Rails)是一个开源的Web应用框架,它遵循MVC(模型-...

    ruby on rails 安装手记

    推荐使用Ruby Version Manager (RVM)来管理不同版本的Ruby,因为RVM可以方便地在多个版本之间切换。要安装RVM,你需要在命令行中执行以下命令: 1. 安装curl(如果尚未安装): ``` sudo apt-get install curl `...

    教学级Ruby On Rails 手动安装.pdf

    **Ruby on Rails**,简称**Rails**,是一种使用**Ruby**语言编写的开源全栈Web应用框架,遵循MVC(Model-View-Controller)架构模式,强调代码效率与开发者幸福感,通过约定优于配置的理念简化开发流程。对于初次...

    Ruby Rails 3 Linda

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。Rails遵循MVC(模型-视图-控制器)架构模式,致力于“约定优于配置”和“Don't Repeat Yourself”(DRY)的...

    ruby on rails 笔记(陈刚)

    在命令行中,切换到你希望存放项目的目录,例如`D:\work`,然后执行`rails demo`命令来创建一个新的Rails项目。项目创建完成后,会在当前目录下生成一个名为`demo`的文件夹,包含Rails项目的标准目录结构。 #### ...

    ruby on rails 3

    Ruby on Rails 3 是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,极大地简化了Web开发过程。这个版本是在Ruby 1.9.2环境下发布的,带来了许多改进和新特性,旨在提高...

    支持搜索功能界面美化版rails API

    9. **数据库**: Rails默认使用SQLite,但在生产环境中,可能会切换到更强大的数据库系统如MySQL或PostgreSQL。 10. **安全考虑**: 在Rails API开发中,必须关注认证(如Devise或Auth0)、授权(CanCanCan或Pundit)...

    SOA系列:开源框架Ruby on Rails

    2. **全栈支持**:作为一款全栈框架,Rails 同时支持前端和后端的开发,这意味着开发者可以在一个框架下完成整个 Web 应用的构建,无需切换不同的工具或技术栈。 3. **高效的开发效率**:Rails 提供了一系列的工具...

    ruby on rails 环境搭建

    Ruby on Rails(简称RoR)是一个基于Ruby语言的开源Web开发框架,它采用MVC(Model-View-Controller)架构模式,简化了Web应用的构建过程。在Windows和Linux操作系统下搭建RoR开发环境的步骤略有不同,但都遵循一定...

    Ruby on Rails是否唯一支持SQLite数据库管理?

    标题中的问题提出了一个关于Ruby on Rails (RoR)框架与SQLite数据库之间关系的常见误解。在探讨这个问题之前,我们先来了解一下这两个核心概念。 Ruby on Rails是基于Ruby编程语言的一个开源Web开发框架,它遵循...

    shard_handler:用于Rails应用程序的简单分片解决方案

    它是为在多租户应用程序中使用而创建的,在多租户应用程序中,数据在几个数据库之间进行了分区,但是可以通过相同的ActiveRecord模型进行访问。 基本上,这个gem是ActiveRecord的一个不错的连接切换器。 请记住,...

    ruby初始使用过程总结

    在Ruby中,我们通常会用到一个叫做ActiveRecord的库,它是Ruby on Rails框架的一部分,用于处理数据库操作。通过ActiveRecord,你可以创建数据库模式(schema),定义模型(model)和迁移(migration)。例如,创建...

    轻量级的 .Net ORM DbEntry.zip

     这个版本中,例子程序访问的数据库主要是 Access,而单元测试使用的数据库是 SQLite,通过修改配置文件中数据源部分,可以使之不需要重新编译即可工作于其它数据库上。配置部分通过 App.config 进行,请参阅 ...

    rails-blog-example:Rails入门博客应用程序

    【Rails入门博客应用程序】是一个基于Ruby编程语言的Web应用程序示例,主要展示了如何使用Ruby on Rails框架构建一个简单的博客系统。Ruby on Rails(简称Rails)是用于构建动态、交互式网站的开源框架,它遵循MVC...

    RubyonRails4_jb51.rar

    Rails是基于Ruby语言的一款强大的Web应用框架,它遵循“约定优于配置”(Convention over Configuration)的原则,使得开发者能够更高效地构建动态、功能丰富的网站。这本书详细介绍了Rails 4版本的相关知识,包括其...

    rail 4 days

    本节介绍了如何使用 Rails 构建一个简单的 To-Do List 应用程序。该应用程序将包括创建任务列表的基本功能,如添加、删除和标记已完成的任务。 **Running the Rails script** 首先需要安装并运行 Rails 脚本来创建...

    react_rails_api:与 RailsAPI React

    **JSON序列化**:为了将数据库模型转换为JSON格式,Rails API通常使用如`active_model_serializers`这样的gem。这允许自定义返回的数据结构,只包含客户端需要的信息,提高性能。 **React**:React是Facebook开发的...

Global site tag (gtag.js) - Google Analytics