问题标签 [belongs-to]

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

ruby-on-rails - 可以在 Rails 中的 belongs_to 多态关系上使用“触摸”吗?

我希望以下工作:

我希望在保存或销毁附件记录时“触及”关联的对象。它没有用。任何想法为什么?

0 投票
1 回答
3611 浏览

ruby-on-rails - 为什么我的 user_id 为零?

对不起,那不是代码,这就是我现在的感受。我知道有很多关于 Devise 的初学者问题,我想我几乎看过每一个问题。

我在 Rails 3 中有一个非常简单的设计设置。我做了:

rails 生成设计用户

我也在运行 rails 3 GeoKit 插件,(不确定这是否相关,只知道我有这个其他模型)所以我有另一个模型,称为 Location,它是acts_as_mappable。

在发布代码之前,基本问题是我似乎无法让 user_id 自动递增。我的理解是,如果我在 Location 类中添加一个名为 user_id 的列,那么一点 Rails 魔法应该会为我解决这个问题。(我是通过迁移完成的。)然后相应地设置 has_many 和 belongs_to 。(见下文)

我不明白为什么 user_id 总是为零。它与设计引擎的工作方式有关吗?我很确定我在过去以同样的方式使这种类型的关联工作,当我不使用 Devise 时。

用户.rb:

位置.rb:

这是添加列的迁移:

最后,这里是 schema.rb:

编辑:只要我能在正确的方向上得到一点推动,我就可以接受 RTFM 的回应。我怀疑我需要在我的 locations_controller.rb 的创建操作中告诉 Rails 一些事情?有人在这里给我一点提示!

0 投票
2 回答
998 浏览

ruby-on-rails - has_many & belongs_to 在 Rails 中不起作用

我在我的 Rails 应用程序中创建了两个模型 1) Contact 2) Customer,现在我想加入这些模型的两个表。表格分别是联系人和客户。我正在使用以下代码:

1)联系人.rb:

2) 客户.rb

3)customers_controller.rb

在这里,我试图将联系人表的主键访问到客户表中,但它反复给出此错误“找不到名为'contact_id'的关联;也许你拼错了?” 谁可以帮我这个事?

0 投票
2 回答
491 浏览

cakephp - HABTM和belongsTo同时加入,cakePhp

我有一个模型修复与关系 HABTM 设备模型。设备模型有一个 belongsTo 到 Device_type 模型,像这样,仅用于获取设备类型名称:

所以,我需要每个 Fix、它的设备和它的 Device_types。当我制作一个时,Fix->find('all', array('recursive' => 2)) 我希望获得与 Fix 相关的每个设备(这工作正常),并且每个设备的 Device_type.name (这不起作用)。这是我为结果中的每个设备(一个空数组)得到的结果:

除此之外,当我为 testing: 进行查询时Fix->Device->find('all'),它会返回与修复相关的每个设备的当前 Device_type.names,这意味着模型是相关的。

有什么帮助吗?谢谢。

0 投票
1 回答
1077 浏览

ruby-on-rails - 有条件的belongs_to:仅对已发布标志设置为TRUE的帖子发表评论

我只想获取帖子的某些评论:那些具有已发布布尔集 TRUE 的评论。

现在,我只是简单地调用一个@post.comments.allon the Post show 动作。

在 Post.rb 模型中创建一个方法(published_comments)对我来说很难看;我觉得这样的代码属于 Comment.rb 模型。但是我不确定如何从 Post 对象中调用 if 。

此外,我真的很喜欢belongs_to为我提供的选项,例如 counter_cache 或急切加载。

我应该如何解决这个问题?

0 投票
1 回答
745 浏览

ruby-on-rails - “找不到”错误 ActiveRecord.new 方法

我在可能的 Rails 3.0.3 App 中遇到了这个问题,我认为这是一个愚蠢的错误,但我无法弄清楚它为什么会发生,或者事实上,我误解了 ActiveRecord 的行为,这并不是一个真正的错误。

这是场景,我有三个模型:

如果我尝试通过这种方式实例化一个传递哈希参数的新用户:

我面临错误

发生这种情况是因为 AddressBase 已经存在而 Address 不存在,如果我删除哈希的 AddressBase.id 参数一切正常,但我不想要它,因为这样,总是会为 Address 和地址库。我的意图是重用公共地址库,因此需要使用现有地址库的新地址的场景。

现在这是我的疑问,我在 AddressBase 哈希中缺少一些参数??比如说记录已经存在?还是ActiveRecord的belongs_to和has_many关联有问题?

提前致谢。

0 投票
1 回答
925 浏览

ruby-on-rails - Rails 3:订购在一个查询中使用 has_many 和 belongs_to 关联的查询

在我的 Rails 数据库方案中,有以下结构:

任务有很多工作工作属于一类

我想要实现的是加载所有任务以及按类别排序的所有相关作业。所以结果应该是这样的:

任务 1 作业 1 -> 类别 1 作业 3 -> 类别 2 作业 2 -> 类别 3

任务 3 工作 5 -> 类别 1 工作 9 -> 类别 2 工作 4 -> 类别 3

注意:类别的排序不是它们的ID,它是一个列。

目前唯一可行的解​​决方案是使用 Ruby 而不是 SQL 来排序作业,这非常糟糕。我只是偶然发现了 has_many 关联中的 :finder_sql 选项,但我不确定这是否可行。

0 投票
2 回答
414 浏览

ruby-on-rails - 具有默认回退的 belongs_to

目前,My Rails (3) 应用程序在它们的关系已知之前创建对象(我存储Comment,然后要求用户登录/登录以验证该评论,之后 Comment 获得用户分配)。

我想确保每个评论始终回退给用户。为了避免必须到处测试@comment.user. 确保用户还允许我 validate_presence。

我可以看到两种方式,都看起来很丑。也许我缺少 Rails 或 ActiveRecord 的某些功能。

  1. 在种子或迁移中,创建一个 ID 为 1 的用户,将其称为匿名用户并将其分配为后备。
  2. comment.rb检查加载时的 user_id,如果为 null,则为其分配一个 User.new 。

这通常是怎么做的?

0 投票
1 回答
364 浏览

ruby-on-rails - 如何为具有两个 belongs_to 关系的模型建立关联?

我正在构建具有以下模型功能的应用程序

  • 组有很多用户
  • 组有许多费用(每个费用都有一个:name,:total,:add_by_user_id 字段)
  • 费用有很多欠款(组中每个用户1个)
  • Owings 有一个 :amount 和一个 :user_id,用于引用欠款所指的用户

到目前为止,我已将模型设置如下:

为了创建费用,我使用@group.expenses.build(params[:expenses]),其中params 来自嵌套模型表单,其中包含需要创建的欠款属性。参数包括该费用的每个 'owing' 实例的 'user_id'。

我有两个担忧:

  • 首先 - 我已经在欠款模型中设置了“user_id”,这意味着恶意用户可以更改谁欠了哪些费用(我认为?)。不过,我不知道如何解决这个问题,因为用户在填写费用/欠款表格时需要查看该组所有其他成员的姓名。
  • 其次-我还在费用模型中使“add_by_user_id”可访问-我也不希望恶意用户能够更改这一点,因为这个 user_id 具有特殊的编辑/删除权限。是否有一些聪明的方法可以使费用“属于”用户和组,并在创建时设置这两个关联,而不必设置任何一个可访问的属性?如果有帮助,可以始终将“added_by_user_id”设置为 current_user。

有任何想法吗?很可能我在这里遗漏了一些相当基本的东西。

提前致谢!

PS。长期聆听者,第一次来电者。感谢大家教我 ruby​​ on rails 至今;这个网站是一个令人难以置信的资源!

0 投票
3 回答
1107 浏览

ruby-on-rails - Rails 3.0.5 belongs_to 关联不更新声明类中的主键

我正在尝试进行基本的 belongs_to/has_many 关联,但遇到了问题。似乎声明类的外键列没有被更新。这是我的模型:

当我打开 rails 控制台时,我执行以下操作:

以上给了我正确的结果。我有一个客户和一个单位。该单元已正确填充了 client_id 外键字段。

我觉得上面应该有同样的效果。然而,这种情况并非如此。我有一个单元和一个客户端,但未填充单元 client_id 列。不确定我在这里做错了什么。帮助表示赞赏。如果您需要更多信息,请与我们联系。