-
rails中如何用一个model动态切换访问不同数据库5
各位达人,小弟最近项目碰到一个问题,一个学习系统,有不同院校,如何让不同院校的人访问各自的数据库,也就是要根据不同的院校动态的切换数据库,难点在于model只有一个,怎样才能让不同院校人动态的去取自己院校库中的数据,小弟曾想动态的切换establish_connection,但这样的话,一个院校切换,势必影响另外一个院校。因为establish_connection是一个全局的函数,整个app的数据库链接都会被重置。有木有大侠知道如何解决这个问题呢,小弟在这里跪谢了。2012年5月23日 22:36
2个答案 按时间排序 按投票排序
-
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
-
不使用线程的话,应该每次使用前切换establish_connection是没有问题的.
觉得你可以不同的院校用不同的model,公共部分写成module,动态生成所有院校的model2012年5月27日 15:25
相关推荐
Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,强调“约定优于配置”和“Don't Repeat Yourself”(DRY)原则,从而提高开发效率。 本教程首先会...
Rails 2.0 API 文档是一个非常宝贵的资源,它为开发者提供了全面的指南,以便于在使用Ruby on Rails 2.0版本时更好地理解和利用其框架功能。Ruby on Rails(简称Rails)是一个开源的Web应用框架,它遵循MVC(模型-...
推荐使用Ruby Version Manager (RVM)来管理不同版本的Ruby,因为RVM可以方便地在多个版本之间切换。要安装RVM,你需要在命令行中执行以下命令: 1. 安装curl(如果尚未安装): ``` sudo apt-get install curl `...
**Ruby on Rails**,简称**Rails**,是一种使用**Ruby**语言编写的开源全栈Web应用框架,遵循MVC(Model-View-Controller)架构模式,强调代码效率与开发者幸福感,通过约定优于配置的理念简化开发流程。对于初次...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。Rails遵循MVC(模型-视图-控制器)架构模式,致力于“约定优于配置”和“Don't Repeat Yourself”(DRY)的...
在命令行中,切换到你希望存放项目的目录,例如`D:\work`,然后执行`rails demo`命令来创建一个新的Rails项目。项目创建完成后,会在当前目录下生成一个名为`demo`的文件夹,包含Rails项目的标准目录结构。 #### ...
Ruby on Rails 3 是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,极大地简化了Web开发过程。这个版本是在Ruby 1.9.2环境下发布的,带来了许多改进和新特性,旨在提高...
9. **数据库**: Rails默认使用SQLite,但在生产环境中,可能会切换到更强大的数据库系统如MySQL或PostgreSQL。 10. **安全考虑**: 在Rails API开发中,必须关注认证(如Devise或Auth0)、授权(CanCanCan或Pundit)...
2. **全栈支持**:作为一款全栈框架,Rails 同时支持前端和后端的开发,这意味着开发者可以在一个框架下完成整个 Web 应用的构建,无需切换不同的工具或技术栈。 3. **高效的开发效率**:Rails 提供了一系列的工具...
Ruby on Rails(简称RoR)是一个基于Ruby语言的开源Web开发框架,它采用MVC(Model-View-Controller)架构模式,简化了Web应用的构建过程。在Windows和Linux操作系统下搭建RoR开发环境的步骤略有不同,但都遵循一定...
标题中的问题提出了一个关于Ruby on Rails (RoR)框架与SQLite数据库之间关系的常见误解。在探讨这个问题之前,我们先来了解一下这两个核心概念。 Ruby on Rails是基于Ruby编程语言的一个开源Web开发框架,它遵循...
它是为在多租户应用程序中使用而创建的,在多租户应用程序中,数据在几个数据库之间进行了分区,但是可以通过相同的ActiveRecord模型进行访问。 基本上,这个gem是ActiveRecord的一个不错的连接切换器。 请记住,...
在Ruby中,我们通常会用到一个叫做ActiveRecord的库,它是Ruby on Rails框架的一部分,用于处理数据库操作。通过ActiveRecord,你可以创建数据库模式(schema),定义模型(model)和迁移(migration)。例如,创建...
这个版本中,例子程序访问的数据库主要是 Access,而单元测试使用的数据库是 SQLite,通过修改配置文件中数据源部分,可以使之不需要重新编译即可工作于其它数据库上。配置部分通过 App.config 进行,请参阅 ...
【Rails入门博客应用程序】是一个基于Ruby编程语言的Web应用程序示例,主要展示了如何使用Ruby on Rails框架构建一个简单的博客系统。Ruby on Rails(简称Rails)是用于构建动态、交互式网站的开源框架,它遵循MVC...
Rails是基于Ruby语言的一款强大的Web应用框架,它遵循“约定优于配置”(Convention over Configuration)的原则,使得开发者能够更高效地构建动态、功能丰富的网站。这本书详细介绍了Rails 4版本的相关知识,包括其...
本节介绍了如何使用 Rails 构建一个简单的 To-Do List 应用程序。该应用程序将包括创建任务列表的基本功能,如添加、删除和标记已完成的任务。 **Running the Rails script** 首先需要安装并运行 Rails 脚本来创建...
**JSON序列化**:为了将数据库模型转换为JSON格式,Rails API通常使用如`active_model_serializers`这样的gem。这允许自定义返回的数据结构,只包含客户端需要的信息,提高性能。 **React**:React是Facebook开发的...