问题标签 [model-associations]

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 投票
1 回答
581 浏览

ruby-on-rails - Rails 3.1构建关联不起作用

好的,所以我有一个应该返回包(service_package_id 和 payment_plan_id)的方法被传入并且有效。包模型属于服务包和付款计划,每个模型都有许多包。

在@spackage 行之前,一切都很好。记录器获取 service_package_id 但是当下一个日志出现时,它会在 nil 类上返回 nomethoderror。为什么我的@spackage 为零?这适用于rails 3.0.9,但至少在我的开发机器上不适用于3.1 rc4。有什么想法吗?

0 投票
1 回答
267 浏览

ruby-on-rails - Rails Rich Association - 覆盖关联模型

假设我们有三个模型 PATIENTS、NURSES 和它们的关联模型 APPOINTMENTS。

本周所有患者都必须与他们的护士见面。

一个病人有很多护士,一个护士有很多病人。同样,一个病人有很多预约,但每个护士只有一个,一个护士有很多预约,但每个病人只有一个。

显然,预约属于病人和护士。

但是,我还想要一种方法让护士能够勾选患者是否出现。我在迁移中实现了这一点,如下所示:

结尾

在控制台中,我可以创建所有内容的实例,并且可以执行以下操作:

现在,问题来了:我如何实现它,以便该约会中的护士能够将布尔值编辑为 TRUE?到目前为止,我可以通过键入以下内容来更改约会实例的值:

但这不是我想要的。我希望护士能够修改此关联,并阻止患者更改任何内容。

我不应该为此使用丰富的关联吗?

0 投票
2 回答
814 浏览

ruby-on-rails - 在子模型中获取父值

我有一个名为 RsvpRegistrations 的模型

我需要在验证中使用来自父“rsvp”对象的值,例如

(Rsvp.phone 是布尔值)

但这不起作用。我得到的错误是未定义的方法“rsvp”。如何访问父对象及其值?

一旦我让它工作,我还有其他类似的验证要运行,所以我想我需要一次抓住父'rsvp',然后在我的其他验证中引用它。

提前致谢。

0 投票
2 回答
210 浏览

ruby-on-rails-3 - 如何更正此模型关联?

我创建了一个相册模型和一个照片模型,并将其添加到现有的 Rails 应用程序中。我已经使照片模型属于相册模型,并且相册模型属于属于用户模型的现有配置文件模型。我不知道我是否将它们关联错误以及为什么会出现错误。

值得注意的是,当我转到 URL/albums 时,一切正常,但是当我转到 URL/profiles/1 时(下面的代码粘贴在 views/profile/ 文件夹中的 show.html.erb 文件中)然后我收到以下错误。

这是一个我无法解决的简单问题。四个模型文件如下:

专辑.rb:

简介.rb:

照片.rb:

用户.rb:

配置文件控制器有这个片段:

视图有这个:

动作控制器异常显示:

0 投票
1 回答
126 浏览

entity-framework - 没有PK的实体框架中的映射属性?

我试图用 3 个表创建一个 EF 模型(VS2010,.NET4),每个表都有一个名为 Sync_ID 的 PK。

TABLE_HEAD: (Sync_ID (PK), GRID_ID int, SERIALNUMBER int, YEAR int)

TABLE_POINT: (Sync_ID (PK), GRID_ID int, SERIALNUMBER int, YEAR int,POINT_NUMBER int)

TABLE_PLANT: (Sync_ID (PK), GRID_ID int, SERIALNUMBER int, YEAR int,POINT_NUMBER int,PLANT_NUMBER int)

关联: TABLE_HEAD "1 对多" TABLE_POINT "1 对多" TABLE_PLANT

可以看到 TABLE_HEAD 的 GRID_ID, SERIALNUMBER, YEAR 应该映射到 TABLE_POINT 的 GRID_ID, SERIALNUMBER, YEAR

并且 TABLE_POINT 的 GRID_ID, SERIALNUMBER, YEAR 应该映射到 GRID_ID, SERIALNUMBER, YEAR,POINT_NUMBER

我的第一种方法是使用 GRID_ID、SERIALNUMBER、YEAR 分组为一个 PK,但这将违反条件。

所以唯一的方法是使用 Sync_ID 作为 PK。但是如何映射上述其他字段呢?我只能映射 PK_Columns 吗?

希望你有想法可以帮助我。也欢迎其他方法。此致 !

0 投票
1 回答
126 浏览

ruby-on-rails-3 - 如何从它所引用的所有表中删除一条记录?

早安各位溢出者,

模型关联的小问题。我有这些模型关联:

因此,基本上Categorization以这些列结束(省略日期/时间戳) categorization_idexhibit_idcategory_id.

我的问题是,当我删除一个展览时,它在分类表上的引用没有被删除,因此在我的视图中出现了数据库错误。我必须首先从任何类别中取消分配展览,然后安全地删除它。或者(例如,我删除的 Exhibit 有:exhibit_id=>'1')当我给出rails consoleCategorization.find_by_exhibit_id(1).destroy

谢谢你的帮助!!

0 投票
4 回答
2230 浏览

ruby-on-rails - Rails 3 HABTM 单线

我需要一个单线来生成一个 has_and_belongs_to_many 连接表,否则我将回到 Django 以获得更简单的多对多结构。

rails 3 生成模型 article_tags [..]

0 投票
2 回答
363 浏览

ruby-on-rails-3 - 模型有两个属于另一个模型的属性

我有一个模型如下:

如果我没有注册用户,我需要保存 icon_id 和 user_icon id。

它是否正确?我是否可以通过执行以下操作来访问该图标:

我想改进这个问题,所以让我更好地解释一下:

我想将同一模型中的两个对象保存在另一个模型中。

所以 Greeting 属于 Icon 但我将在 Greetings 表中有两个字段用于 Icons 表中的外键,但标记不同。

我调用一个外键属性 icon_id 和另一个 user_icon_id。

这样做是正确的:

0 投票
1 回答
1721 浏览

doctrine-orm - Doctrine 2 中 3 个实体之间的一对多关系

我有三个实体:用户、办公室和电话号码。用户有很多电话号码,办公室也有很多电话号码。

问题是如何在 Doctrine 2 中表示这些实体关系。

  1. 起初我尝试使用双向一对多关联(用户 -> 有很多 -> 电话号码)(办公室 -> 有很多 -> 电话号码),电话号码有两个映射字段,一个用于用户,另一个用于办公室. 此解决方案不起作用,因为其中一个映射外键不能为空。

  2. 我的第二种方法是对 PhoneNumber 使用两个实体和一个超类。PhoneNumber 超类定义了除映射字段外的所有公共字段。实体 UserPhoneNumber 和 OfficePhoneNumber 扩展了 PhoneNumber 实体并指定了不同的映射字段和不同的表。(OfficePhoneNumbers 一个表,UserPhoneNumbers 另一个表)

    这个解决方案确实有效,但是用 3 个类来表示一个简单的实体是相当难看的。

  3. 我的第三种方法是使用单向一对多映射。这将消除 PhoneNumber 实体的映射字段的需要。问题是当我对多对多字段使用级联删除时,它在删除记录时违反了完整性约束。

    当我省略级联删除选项时,删除用户或办公室后,电话号码仍保留在数据库中(但映射表中的记录被删除)。

处理这种关联的最佳方式是什么?

谢谢

0 投票
1 回答
1433 浏览

ruby-on-rails - :has_many 中的多个条目通过关联

我需要一些关于我正在使用 rails 3 进行的 Rails 开发的帮助。这个应用程序是在几个月前刚开始的​​时候给我的,从那以后我变得相当喜欢 Ruby。

我有一组可以通过团队表分配资源的项目。

团队记录具有开始日期和结束日期(即资源从项目中分配和取消分配的时间)。

如果用户已从项目中分配和取消分配,并且在以后将他们分配回项目中,而不是重写结束日期,我想在 Teams 表中创建一个新条目,以便能够跟踪资源分配给某个项目的日期。

所以我的问题是,是否可以通过关联在 :has_many 中有多个条目?

这是我的联想:

我在 Project.rb 中也有以下功能: