问题标签 [activerecord]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
19576 浏览

为什么所有 Active Record 都讨厌?

随着我对 OOP 的了解越来越多,并开始实施各种设计模式,我不断回想起人们讨厌Active Record的案例。

通常,人们说它不能很好地扩展(以 Twitter 为例)——但没有人真正解释为什么它不能很好地扩展;和/或如何在没有缺点的情况下实现 AR 的优点(通过类似但不同的模式?)

希望这不会变成一场关于设计模式的圣战——我想知道的只是****具体**** Active Record 出了什么问题。

如果它不能很好地扩展,为什么不呢?

它还有什么其他问题?

0 投票
7 回答
2336 浏览

关于让 Rails 与 Access 后端一起运行的任何提示?

我不敢问,但我的客户可能没有提供其他 SQL(或类似 SQL)的解决方案。我知道 Access 有一些 SQL 钩子;它们足以满足基本的 ActiveRecord 吗?

之后:

我感谢所有使用其他数据库的建议,但请相信我:我已经尝试过说服他们。有一个“已批准”列表,其中没有 SQL 数据库。将某些东西列入清单可能需要一年多的时间,而这个项目将在三周内完成。

0 投票
4 回答
12812 浏览

您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?

假设你的一个 Ruby on Rails 应用程序中有一个 ActiveRecord::Observer - 你如何使用 rSpec 测试这个观察者?

0 投票
7 回答
83759 浏览

如何计算 ROR 中特定字段中具有唯一值的记录数?

我有一个包含日期字段的记录集,并且想确定记录集中表示了多少个唯一日期。

就像是:

但当然,这似乎行不通。

0 投票
3 回答
2858 浏览

你知道如何在 Castle ActiveRecord 中实现事务吗?

我决定使用Castle ActiveRecord为客户制作一个系统,一切都很顺利,直到我发现事务不起作用,例如;

但它不起作用,我抛出一个异常只是为了尝试事务回滚,但令我惊讶的是,我看到第一个 [Save] 记录到数据库中。怎么了?

我是 Castle 和 NHibernate 的新手,首先我看到它非常有吸引力,我决定继续使用它和 MySQL(我从未使用过这个 DB),我尝试了 ActiveWriter,它看起来很有希望,但经过漫长而努力一周我看到了这个问题,现在我觉得我被困住了,好像我浪费了我的时间。这应该很容易,但现在我感到很沮丧,因为我找不到足够的信息来进行这项锻炼,你能帮我吗?

0 投票
9 回答
10252 浏览

数据库分片和 Rails

在 Rails 中处理分片数据库的最佳方法是什么?分片应该在应用层、活动记录层、数据库驱动层、代理层还是其他什么地方处理?各自的优缺点是什么?

0 投票
3 回答
1481 浏览

How can I upsert a bunch of ActiveRecord objects and relationships in Rails?

I am working with an API that provides bus arrival data. For every request, I get back (among other things) a list of which routes serve the stop in question. For example, if the list includes result for bus route #1, 2, and 5, then I know that those serve this stop.

I have a many-to-many relationship set up between Route and Stop, and I want to dynamically check and update these associations on every request. There is no "master list" of which routes serve which stops, so this seems like the best way to get this data.

I believe that the way I'm doing it now is very inefficient:

Basically, I have to do 2 things for every route I find: 1) Create it if it doesn't already exist, 2) Add a relationship to the current stop if it doesn't already exist.

Is there a better way to do this, for example by getting a bunch of the data in memory and doing some of the processing on the app server side, in order to avoid the multitude of database calls I'm currently doing?

0 投票
3 回答
2191 浏览

activerecord 作为模型,这是个好主意吗?

最近由于 Rails 的流行,很多人开始使用 activerecord 作为模型。然而,在我听说 Rails 之前(我的同龄人小组不喜欢开源东西,我们在一所 .NET 学校接受过教育……),在我做最后一年的项目时,我发现了这个模型的定义

该模型代表企业数据以及管理对这些数据的访问和更新的业务规则。模型通常用作模拟真实世界过程的软件,因此在定义模型时应用简单的真实世界建模技术。

它并没有说模型应该像 activerecord 那样表示一个表。而且通常在一个事务中,一个人可能必须查询一些不相关的表,然后操作来自不同表的数据......所以如果使用 activerecord 作为模型,那么任何一个都必须将所有逻辑代码塞进控制器(这是在某些 php 框架中有点流行),这使得测试或破解 activerecord 模型变得困难,因此它不仅对它映射到的表执行数据库操作,而且还对其他相关表执行数据库操作......

那么,滥用(恕我直言)activerecord 作为 MVC 架构模式中的模型有什么好处呢?

0 投票
3 回答
2399 浏览

如何在 ROR 中使用 ActiveScaffold 一次创建多个记录

我想使用 ActiveScaffold在一个步骤中为多个学生创建作业记录。除了 student_id 之外,这些记录都将包含相同的数据。

我能够覆盖默认表单并将用于选择学生姓名的下拉框替换为多选框 - 这就是我想要的。然而,这种变化只是装饰性的,因为底层代码只从该框中获取第一个选定的名称,并创建一条记录。

有人可以建议一种不需要我解密和重写太多底层 ActiveScaffold 代码的方式来完成此任务的好方法吗?


更新:我仍然没有找到这个问题的好答案。

0 投票
7 回答
4851 浏览

Ruby on Rails 中模型设计的最佳实践

RoR 教程为每个表假设一个模型以供 ORM 工作。我的数据库模式有大约 70 个表,在概念上分为 5 组功能(例如,任何给定的表都存在于一个且只有一个功能组中,并且不同组的表之间的关系被最小化。)所以:我应该为每个概念组设计一个模型吗? ,或者我应该简单地拥有 70 个 Rails 模型并保留分组“概念”?谢谢!