问题标签 [has-one]

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

ruby-on-rails - RoR:在这种情况下我应该使用belongs_to, :polymorphic 吗?

我正在开发一个项目,其中许多 ActiveRecord 模型都可以进行与之关联的对话。用户可以讨论网站的几乎所有方面。关于如何实施,我有两个想法。

1)在资产中使用belongs_to,而不是对话——对话将完全不知道它的资产

2) 在对话中使用belongs_to, :polymorphic => true

建模这种关系的正确方法是什么?如果我要陈述这种关系,我会说“一个产品/采购订单可能有一个对话”。

0 投票
1 回答
197 浏览

ruby-on-rails - 模型同时具有一个和多个相同模型时的 ActiveRecord 关系

我的数据类似于:

一个人只属于一个团队,但在众多团队成员中只有一个领导者。

第一个问题:我应该在 Team 模型中使用 belongs_to 而不是 has_one 吗?

第二:团队是由许多人创建的,并且最初知道领导者。这应该怎么做?

目前我在我的控制器中做这样的事情:

这是一个问题,当我列出 @team.persons 时,@team.leader 有第一个 id,我假设是因为 @team.save 首先保存了领导者关联。我需要它们按照提供的顺序排列。

谢谢!

0 投票
2 回答
5886 浏览

routing - Rails 3 has_one 路由

我有两节课:

Foo 是可选的。

我创建了以下路由:

这导致以下路线:

问题:

  1. 似乎 Index 和 Show 操作是多余的。应该删除其中一个吗?如果有,是哪一个?
  2. Show 操作中的 :id 参数似乎没有必要,因为 user_id 是 foos 表中的外键,每个用户只有一个 foo。我弄错了吗?
  3. 如果没有 foo,我希望有一种优雅的方式来路由到 New 操作。一种选择是测试@user.foo.nil?在 FooController 的 Show 或 Index 操作中,然后重定向到 New 操作。有没有更好的办法?

谢谢你的时间。

0 投票
1 回答
2463 浏览

ruby-on-rails - has_one 有两个外键?

我有两个类消息和用户。消息具有 user 的 sender_id 和 recipient_id 两个外键。如何建立关系,我将能够为发件人和收件人获取用户,例如 @message.sender.name 和 @message.recipient.name

我试图通过这种方式做到这一点:

但这并没有帮助,例如,当我尝试访问 @message.recipient.name 时,它​​说“未定义的方法‘名称’”

0 投票
1 回答
173 浏览

mysql - 具有 BelongsTo 和 hasOne 关系设置的模型会发生什么?

当两个模型同时与 belongsTo 和 hasOne 关系相关联时会发生什么?
框架是否检测到这种情况以避免检索太多数据?

编辑:特别是 CakePHP,尽管其他框架所做的也会有所帮助。

0 投票
1 回答
238 浏览

ruby-on-rails - 对象拒绝在 Rails IRB 中保存更改

大家早上好,

我有一个正在处理的关联,由于某种原因,当我在 IRB 中调试它时,我无法让它保存对相关对象的更改。我想知道是否有人可以指出我的问题。

这是协会:

当我启动 IRB 时,我可以获取 User.first 和 Affiliate.first。我可以很好地设置用户的 managed_affiliate。但是,当我保存时,这根本不会反映在会员中 - 它没有经理。同样,我可以很好地设置会员的经理(Affiliate.first.manager = User.first)。它像一切正常一样返回,但是当我去保存它时,它只返回“false”。如果我激活 IRB 日志记录功能,这是输出:

这个关联不能正确保存有什么明显的原因吗?

此外,这是附属表的架构:

感谢您的任何帮助。

0 投票
1 回答
751 浏览

ruby-on-rails - belongs_to has_one 结构

我有一个具有以下特征的应用程序

我有一个用户表。用户表主要包含俱乐部经理、球队经理和球员登录系统的用户名和密码。

我应该如何构建模型和表格?

我计划为俱乐部、球队和球员创建表格。但我不确定展示它们与用户表之间的关系。

我可以user_id在每个模型中创建,但这种关系Club belongs_to User似乎不正确。此外,我最终会得到一个具有以下内容的用户模型

这是不对的。在任何给定时间,用户将只有其中一个。

有没有更好的方法来构建它?

0 投票
2 回答
5066 浏览

ruby-on-rails - 在 Rails 中,使用“has_many with belongs_to”与“has_many with has_one”有什么区别?

例如,在

以上应该是正确的用法,但是如果我们使用

上述内容是否也可以student.awards作为一个 Award 对象的数组,以及award.student作为获奖者的 Student 对象,因此与帖子顶部的方法的工作方式相同吗?

0 投票
1 回答
249 浏览

ruby-on-rails - 如何通过 link_to_remote 更新 :has_one 值?

我希望能够更改模型联系人的 :status_contact 的值(has_one :status_contact

这是带有 link_to_remote 的片段:

以下是 Contact.rb 的相关模型定义

从错误看来,也许我需要创建特殊路线?

我如何获得它,以便当我单击 link_to_remote 时,它​​会通过 ajax 更改值?

更新:新错误 我根据以下内容进行了更改:

我不确定它在控制器中寻找什么动作。我确实有一个“更新”动作。这是通过 Firebug 控制台传递的 URL:

0 投票
2 回答
9590 浏览

ruby-on-rails - Rails:如果没有找到则创建关联以避免零错误

我有一个应用程序,我的用户可以在其中拥有一组偏好。两者都存储为 ActiveRecord 模型,如下所示:

我现在可以访问用户的首选项:

但是,如果尚未创建首选项集,则此操作将失败,因为 @u.preference_set 将返回 nil,我将调用play_sounds.nil

我要存档的是 User.preference_set 总是返回一个 PreferenceSet 实例。我试过这样定义它:

这导致 a 'Stack level too deep',因为它递归地调用自己。

我的问题是这样的:

如何确保@user.preference_set返回相应的preference_set-record,或者如果不存在,则构建一个新记录?

我知道我可以重命名我的关联(例如preference_set_real)并避免以这种方式进行递归调用,但为了我的应用程序的简单起见,我想保留命名。

谢谢!