问题标签 [has-many]

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 回答
119 浏览

ruby-on-rails - has_many 关系在业务感知上似乎不正确或不合逻辑,需要像 belongs_to_many 这样的东西吗?

我的情况是这样的。公司有很多用户,用户可能属于很多公司。当前的实现如下所示。

它有效,但“用户拥有许多公司”在逻辑上看起来没有意义。它一定是类似belongs_to_many 公司的东西。我需要使用 has_and_belongs_to_many 吗?

有人可以建议代表这些关系的正确方法吗?

0 投票
1 回答
537 浏览

ruby-on-rails - 如何将新条目添加到多个 has_many 关联?

我不确定我做这些是否正确。

我有 3 个模型,帐户、用户和事件。

帐户包含一组用户。每个用户都有自己的登录用户名和密码,但他们可以访问同一帐户下的相同帐户数据。

事件由用户创建,同一帐户中的其他用户也可以阅读或编辑它。

我创建了以下迁移和模型。


用户迁移


账户迁移


事件迁移


账户模式


用户模型


事件模型


所以....

  1. 这个设置正确吗?
  2. 每次用户创建新帐户时,系统都会询问用户信息,例如用户名和密码。如何将它们添加到正确的表中?
  3. 如何添加新活动?

我很抱歉问了这么长的问题。我不太了解处理这种数据结构的rails方式。谢谢你们回答我。:)

0 投票
4 回答
4612 浏览

grails - Grails - 简单的 hasMany 问题 - 在 create.gsp 中使用 CheckBoxes 而不是 HTML Select

我的问题是:我想创建一个 grails 域实例,定义它拥有的另一个域的“许多”实例。我在Google 代码项目中有实际来源,但以下内容应说明问题。

如果您使用此模型并def scaffold用于两个控制器,那么您最终会得到一个不起作用的表单;

脚手架

我自己尝试使其工作将技能枚举为复选框,如下所示;

自定义创建.gsp

但是当我保存志愿者时,技能无效!

保存技能失败

这是我保存方法的代码;

这是我的日志输出(我有自定义 toString() 方法);

请注意,在最后的日志行中,正确的技能已被拾取并且是对象实例的一部分。当志愿者被保存时,“技能”被忽略并且没有提交到数据库中,尽管创建的内存版本清楚地确实有这些项目。施工时不能通过技能吗?一定有办法解决这个问题?我需要一个表格来允许一个人注册,但我想规范化数据,以便以后可以添加更多技能。

如果您认为这应该“正常工作”,那么指向工作示例的链接会很棒。

如果我使用 HTML Select,那么它可以正常工作!如以下制作创建页面;

但我需要它来处理这样的复选框

日志输出完全一样!使用这两种形式的形式,志愿者实例都是使用在“技能”变量中正确引用的技能创建的。保存时,后者因空引用异常而失败,如本问题顶部所示。

希望这是有道理的,在此先感谢!

加夫

0 投票
1 回答
89 浏览

iphone - 如何在 Cocoa 中建立 has-many 关系?

我正在 Cocoa 中构建一个(非常)简单的 FTP 应用程序,我需要将信息存储在受支持的不同类型的服务器上。因此,我创建了一个 ServerType 类,它存储有关单一类型服务器的所有相关信息。然后,我有一个 ServerTypes 类,旨在管理所有创建的 ServerType 类。

我的问题是,如何建立两个对象之间的关系。有没有首选的方法呢?

此外,由于 Objective-C 不支持非实例类,我应该在哪里创建必须在整个程序中使用的 ServerTypes 实例?还是有更好的方法来做到这一点?我需要它符合 KVC,以便我可以将其中一个 ServerType 属性绑定到 NSPopupBox。

我对 Cocoa 和 Objective-C 还很陌生。

0 投票
1 回答
420 浏览

ruby-on-rails - 如何在“has_many”实例中添加和删除多个“belongs_to”实例?

我目前有两个模型:活动和视频。视频属于活动,一个活动有很多视频。在我的广告系列表单中,我希望能够添加没有父级的视频,并且还能够删除属于所选广告系列的视频。我想出了为此使用两个单独的多选列表。一个列表包含所有孤立的视频,另一个列表包含属于所选活动的所有视频。这样,用户只需选择要添加和删除的视频。在我的“更新”和“创建”方法中尝试创建用于从所选广告系列中添加和删除视频的逻辑时,我遇到了麻烦。我想我需要以某种方式从每个选择列表中获取一个数组,然后运行一个添加循环和一个删除每个表单中选定视频的循环。

我将发布到目前为止我的表单和控制器的内容:

广告系列控制器 - 更新方法:

活动表格部分:

我不确定 collection_select 的设置是否正确(尽管它们确实在表单上正确显示)。任何指针将不胜感激。

感谢您的关注!

0 投票
3 回答
8163 浏览

ruby-on-rails - RAILS:如何获取模型的 has_many 关联

如何获得模型的 has_many 关联?

例如,如果我有这个类:

我想要这样的方法:

那个回报

可能吗?谢谢!

0 投票
2 回答
111 浏览

ruby-on-rails - 在 Ruby on Rails 中,为什么 story.votes 会返回一个空的 Array 对象,而 story.votes.create 实际上会调用 Vote 类的方法?

在 Ruby on Rails 中,假设一个 Story 对象可以“has_many”投票对象(一个故事被许多用户投票为“热门”)。

所以当我们做一个

s是一个 Story 对象,并说

返回[]

返回Array

很明显, s.votes 是一个空的 Array 对象。

这时,当

被调用,它实际上调用了Vote类的一个方法?Array 类对象怎么会调用 Vote 类方法?

0 投票
1 回答
1130 浏览

ruby-on-rails - has_many/belongs_to 关系的验证

我有一个食谱模型,它有_many 成分(又属于_torecipe)。我希望成分依赖于食谱而存在;没有食谱,成分永远不应该存在。

我正在尝试强制在成分中存在有效的配方 ID。我一直在使用validates :recipe, :presence => true成分中的(Rails 3)声明来做到这一点。ingredients如果我在将成分添加到它的集合之前保存配方,这很好用。但是,如果我没有对保存的明确控制(例如当我从嵌套表单创建食谱及其成分时),那么我会收到错误消息:

配料配方不能为空

我可以简单地通过在成分.recipe 上删除存在验证来解决这个问题。但是,我并不特别喜欢这样,因为这意味着我在没有安全网的情况下工作。

在 Rails 中实施存在依赖的最佳方法是什么?

我正在考虑的事情(请评论每个人的智慧):

  • 在 components.recipe_id 数据库列上添加非空约束,并让数据库为我进行检查。
  • 一种自定义验证,以某种方式检查成分是否在未保存的配方的成分集合中(因此不能有 recipe_id 但仍被认为是有效的)。
0 投票
1 回答
817 浏览

ruby-on-rails - has_many, belongs_to 关联,其中 has_many 关联模型在 belongs_to associated_model 中有两个别名 fk

我有一个有很多战斗的用户模型。战斗属于用户。

战斗表中有两个外键引用回用户 PK——challenge_id 和 challengee_id。

诀窍是如何在 User 模型上编写 has_many 关联,以便它返回 user_id = challenger_id 或 challengee_id 的战斗?

0 投票
1 回答
190 浏览

ruby-on-rails - has_many 关联...找不到类 ID

如何编写下面的代码以便它传递 user.id。鉴于我所拥有的,它会抛出 Class id not found 错误。(用户有很多战斗。战斗属于用户。用户可以是战斗中的挑战者,也可以是另一个挑战者。)