问题标签 [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 投票
7 回答
7413 浏览

ruby-on-rails - 基本 Rails 问题:手动向数据库表中插入一行

我正在学习 Rails,到目前为止进展顺利。目前我最大的问题是:如何手动将一行插入到我的数据库中?我已经准备好创建 DataTypeOne 行的脚手架,但是我希望在提交 DataTypeOne 的表单时为 DataTypeTwo 创建一行(并让它引用 DataTypeOne 的 id ......但我想我可以这样做我自己出去)。

提前致谢。

0 投票
1 回答
377 浏览

.net - .NET 2.0+ 中的简单 Active Record 实现

我正在寻找.NET中一个非常简单的活动记录示例(老实说代码示例)

0 投票
4 回答
69066 浏览

ruby-on-rails - 覆盖 ActiveRecord 属性方法

我正在谈论的一个例子:

这似乎可行,但我刚刚阅读了ActiveRecord::Base 文档中关于覆盖属性方法的部分,它建议使用read_attributeandwrite_attribute方法。我认为我在上面的示例中所做的事情一定有问题;否则,他们为什么会祝福这些方法是覆盖属性方法的“正确方法”?他们还强迫一个更丑陋的成语,所以一定有充分的理由......

我真正的问题:这个例子有问题吗?

0 投票
2 回答
2032 浏览

ruby-on-rails - RoR: has_one “或其他”?(或者,没有继承的多态性。)

大家好,我的项目有一些有趣的要求。我需要一种has_one关系,它要么是一个类,要么是另一个类,但没有继承。如果这是唯一的方法,我可以摆脱继承,但是两个关联记录具有完全不同的数据并且根本不相关。

我需要弄清楚的是以下内容。

WhereFoo有一个赋值,类型为Baror Baz; 它们只共享一个公共列,所以也许我可以从中创建一个父对象。但是,如果我让它们继承自一个通用对象(当它们包含的数据确实是橙子和苹果时)我必须为记录制作一个表吗?如果记录是抽象记录,但孩子们不是,我可以侥幸逃脱吗?

我想现在你可以看到我的困难了。我对 RoR 很陌生,但到目前为止我很喜欢它。我敢肯定有办法解决这个问题,但如果我无法弄清楚它是什么,我会被诅咒的。

0 投票
4 回答
6475 浏览

ruby-on-rails - Rails 与 activerecord 共享会话

我目前使用默认 cookie 作为我的单点登录 (SSO),但在我推送更新后,一些用户会遇到奇怪的错误。我正在考虑使用活动记录来存储会话,但想知道如何告诉 Rails 会话在另一个数据库中?

因此,如果我通过 AR 在 App1DB 中存储会话,那么所有其他应用程序如何知道在哪里寻找会话?

0 投票
1 回答
868 浏览

nhibernate - 使用 ActiveRecord/NHibernate,我可以在不刷新的情况下删除和刷新吗?

我有以下单元测试方法:

正如您从 DeleteAndFlush 命令后的评论中看到的那样,我必须将其从简单的 Delete 更改为通过单元测试。为什么是这样?对于我添加 OrderItem 的其他单元测试,情况并非如此。这工作得很好:

当我开始使用 Order.OrderItems 关系映射的延迟实例化时,所有这些都出现了,并且必须在测试周围添加 using(new SessionScope) 块。

有任何想法吗?

0 投票
3 回答
8952 浏览

nhibernate - 使用 ActiveRecord 在 nHibernate 中急切加载延迟加载的实体

我正在开发一个项目,该项目具有丰富的对象模型和各种聚合根集。

我们正在使用Castle堆栈(通过 ActiveRecord 到 nHibernate 的 Monorail)。

我们已将聚合根标记为惰性[ActiveRecord(Lazy = true)],并在我们的存储库上自定义了“渴望”例程以渴望获取对象图。我们使用 HQL 从我们的根的子集合中定义渴望获取,

例如,如果Account是聚合根(并标记为延迟加载),我们将急切地获取Account .. Order .. Product实体以获得完整的图形。

所以到目前为止没有任何意外(希望如此)。

现在,如果在上面的示例中, Product 也被标记[ActiveRecord(Lazy = true)],这似乎停止了 HQL 中的 Eager fetch 指令。

有谁知道强制急切获取延迟加载的子对象的方法

干杯伊恩

更新

好的,这里有一些示例 hql,使用下面 'me.yahoo.com/../1' 中的示例,我们在获取多对多关系时使用 IMuliQuery 来解决 N+1 依赖关系。我们还明确地使用了多对多映射类。因此,我们的 hql 是:

...所以这会执行 2 条 sql 语句并返回所需的最小行集,我们可以将其解析为单个对象图。好的。

但是...如果,比如说,Address被标记为延迟加载(并且Order没有),访问Order不会触发进一步的 sql 语句,但访问Address会触发,尽管事实上两者都是急切加载的。

那么为什么上面的延迟加载的实体没有Address被上面的语句急切地获取呢?

0 投票
3 回答
447 浏览

sql - 如何使这个 Ruby on Rails 页面更高效?

我正在建立一个网站,用户可以在其中跟踪他们为龙与地下城 (www.ddmdb.com) 收集的人物。此功能中涉及的模型/关系如下:

用户:

  • ID
  • 登录名(用户名)
  • 一堆其他领域

微型:

  • ID
  • 姓名
  • number(集合中的#,不计数)
  • release_id(外键)
  • 一堆其他字段和外键

所有权:

  • id(这真的需要吗?)
  • 用户身份
  • 微型ID
  • have_count
  • 最喜欢的(布尔值)

我建立的相关关系如下:

用户:

  • has_many :所有权
  • has_many :miniatures, :through => :ownerships, :uniq => true, :conditions => "ownerships.have_count > 0"
  • has_many :favorites, :through => :ownerships, :source => :miniature, :uniq => true, :conditions => "ownerships.favorite = true"

缩影:

  • has_many :所有权
  • has_many :owners, :through => :ownerships, :source => :user, :uniq => true, :conditions => "ownerships.have_count > 0"

所有权:

  • 属于_to:用户
  • 属于_to:微型

我有一个页面,用户既可以查看和更新​​他们的收藏,也可以查看其他用户的收藏。它包含网站上所有微缩模型的列表和每个旁边的文本框,用户可以在其中输入他们拥有的每个微缩模型的数量。此功能也存在于微型模型的子列表中(按类型、版本、大小、稀有度等过滤)

当用户创建帐户时,他们没有所有权条目。当他们使用收藏页面或微缩模型子列表更新他们的收藏时,我在所有权表中创建条目,仅用于提交页面上的微缩模型。因此,如果它是完整的收藏列表,我会更新所有迷你图(即使计数为 0),或者如果它是子列表,我只会更新那些微缩图。因此,在任何时候,我可能拥有的特定用户: - 没有所有权条目 - 一些缩影的条目 - 所有缩影的条目。

我遇到的问题是我不知道如何使用“Rails 方法”通过 LEFT JOIN 查询数据库,因此如果用户在所有权中没有微型条目,则默认为 has_count 0. 目前,当我遍历所有缩影时,我分别查询每个 user_id/miniature_id 组合,这显然效率很低。

看法:

帮手:

另一种解决方案是在用户注册时为所有微缩模型创建条目,但是当所有用户在注册后将新微缩模型添加到数据库时,我还必须为所有用户添加 0 have_count。这似乎会变得有点复杂,但也许这是正确的方法?

有没有办法为特定用户的所有权表中没有条目的微型模型进行连接并提供默认值?

0 投票
6 回答
5610 浏览

sql - 您如何从 Ruby 直接将 SQL 与 MySQL 对话?

我想用 Ruby 编写一个脚本来清理同一 MySQL 模式的多个副本中的一些混乱的键。我想做一些类似 SHOW CREATE TABLE 的事情,然后看看返回的内容并删除键(如果存在)。

我知道在 Rails 环境中你可以做到这一点......

但是你得到的是一个“结果”对象。对于这个任务,我需要一个字符串,这样我就可以分析它并采取相应的行动。

0 投票
7 回答
75611 浏览

ruby-on-rails - 你能在 Rails 中获取数据库用户名、密码、数据库名称吗?

我正在编写一个在 Rails/ActiveRecord 之外执行一些数据库工作的 rake 任务。

有没有办法获取当前环境中定义的数据库连接信息(主机、用户名、密码、数据库名称)database.yml

我想得到它,这样我就可以用它来像这样连接......