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

ruby-on-rails - rails模型属性在db中没有对应的列

我有一些不需要任何持久性的 rails 模型,但是我希望 rails 认为该模型实际上具有属性 x、y、z,因此当在控制器中调用诸如 to_json 之类的方法时,我将它们免费包含在内。

例如,

表“ModelWithoutTable”的数据库中没有 x 列(对不起,名称有点混乱!)

有人知道如何解决这个问题吗?

0 投票
2 回答
1805 浏览

ruby-on-rails - Rails ActiveRecord Update question

I have a user model which has multiple addresses. Now for my application in rails, address is not mandatory. So, if someone wants to create a user and enter the address after the user has been created, my application should allow that. My problem is, for Address model I have validations for Address Line 1, City and Postal Code. These fields cannot be blank. When, editing a user, the following code fails:

user.addresses << Address.new

Rails tries to create a new Address and fires an Insert command. This is going to fail because of the validations that is required in the model. The above code doesn't fail if the user is not present in the database. One solution to this problem is to create a separate form_for binding for the edit partial for user. I don't want to do that solution. Is there any solution that allows me to bind an empty Address object for an already existing User object in the database ?

0 投票
3 回答
307 浏览

ruby-on-rails - ActiveRecord has_n 关联

我想知道对一个对象与另一个类的 n 个对象相关联的关系进行建模的最佳方法是什么。我想将 has_one 关系扩展到 n 的特定值。

例如,TopFiveMoviesList 将属于用户并且恰好有五部电影。我会想象底层的 sql 表会有类似 movie_id_1、movie_id_2、...movi​​e_id_5 的字段。

我知道我可以做一个 has_many 关系并限制模型级别的孩子数量,但我宁愿没有中间表。

0 投票
2 回答
1285 浏览

asp.net-mvc - asp.net mvc + activerecord 保存对象图

我正在使用 asp.net mvc 并且正在尝试创建一个新员工,在我的表单中我使用 Html.DropDown(...) 来显示可供选择的部门列表。

理想情况下,我希望 MVC 仅确定选择了哪个部门(Id 属性是下拉列表中的值),获取它并将其设置在传入的 Employee 对象中。相反,我得到一个空值,我必须使用 Request.Form[...] 自己获取部门。

我在这里看到了一个例子:http: //blog.rodj.org/archive/2008/03/31/activerecord-the-asp.net-mvc-framework.aspx但这似乎不适用于asp.net mvc测试版

这是具有经过充分验证的 ORM 的基本 CRUD ......真的需要这么难吗?

0 投票
1 回答
527 浏览

ruby-on-rails - 为什么 ActiveRecord 为每个连接发出单独的查询?

我正在执行 ActiveRecord 查找操作(通过“will_paginate”库),如下所示:

在控制台中,我得到如下所示的输出。通过设置include参数,我希望这只会导致一个查询。但是在输出中我看到了很多查询。例如,我很惊讶地看到这条线......

在下面的输出中。(我知道SHOW FIELDS FROM查询在生产中被缓存,所以这不是问题。这是我试图弄清楚的所有额外的选择。)

0 投票
1 回答
1934 浏览

activerecord - 如何使 ActiveRecord 在具有多列作为主键的表上工作?

如何在现有数据库上使用 ActiveRecord,多列作为主键,没有 ID 列?我不得不在 set_primary_key、更新和删除方法上编写扩展/黑客。但我不确定它是否适用于未来的版本。有没有办法让 ActiveRecord 在这种情况下工作而无需 hack?

0 投票
3 回答
14375 浏览

ruby-on-rails - 脚手架 ActiveRecord:相同数据类型的两列

另一个基本的 Rails 问题:

我有一个数据库表,它需要包含对特定数据类型的两个不同记录的引用。

假设的例子:我正在制作一个视频游戏数据库。我有一张“公司”的表格。我希望每个“视频游戏”条目只有一个开发人员和一个发行商。

我知道如果我想拥有一家公司,我可以这样做:

但我需要拥有两家公司。我宁愿不使用连接表,因为给定的数据类型只能有两个,而且我需要它们是不同的。

看起来答案应该很明显,但我在互联网上的任何地方都找不到。

0 投票
3 回答
3408 浏览

mysql - 使用 ActiveRecord 进行 MySQL 分区

我想利用 MySQL 5.1 中的新分区,但使用标准的 ActiveRecord 模型。我遇到的问题是要使用分区表上的主键必须包含分区函数中使用的列。(http://dev.mysql.com/doc/refman/5.1/en/partitioning-limitations-partitioning-keys-unique-keys.html

现在,我想要一个自动递增的“id”字段(通常用作 Rails 中的主键),但我想使用另一列进行分区,在本例中为“task_id”。至关重要的是,我不想在我的 Rails 应用程序中使用复合主键。我的问题是这样的:

如果我按如下方式设置表:

我的主键由 'id' 和 'task_id' 列组成,并且我没有对 ActiveRecord 模型做任何特别的事情,我是否会为将来的任何头痛做好准备?

基本上,我正在创建一个基于两列的主键表,但没有告诉 ActiveRecord 第二列,因为我仍然有一个自动递增的 id 字段 - 任何人都可以看到这种方法有什么问题吗?

0 投票
15 回答
152882 浏览

ruby-on-rails - 如何使用activerecord获取最后N条记录?

:limit查询中,我将获得前 N 条记录。获取最后 N 条记录的最简单方法是什么?

0 投票
1 回答
2940 浏览

sql - Rails:提交具有多个对象的表单

我正在创建一个 Rails 应用程序,但遇到了一些障碍。我想要一个“为 DataType1 创建新记录”表单,它不仅为 DataType1 创建一个新行,还为 DataType2 插入多达四个新行。

我对fields_for 了如指掌,但我的问题是我需要提交最多四个DataType2,而它们与DataType1 的唯一联系是它们是通过DataType2 中的一个字段引用的。

这是简化的数据库:

现在,我已经建立了所有关系和一切;那不是问题。问题是我似乎无法弄清楚如何将 DataType2 的参数与新 DataType1 的参数一起传递。一旦有人向我展示了我应该如何执行此操作,我就可以相当容易地设置新的 DataType2 以与新的 DataType1 关联。

这是我目前的表格:

我对 Rails 比较陌生,如果这个问题有点啰嗦,我深表歉意。