问题标签 [has-one-through]

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

ruby-on-rails - 我应该如何通过关联建立 has_one?

对于一个has_one关联,我可以建立一个这样的关联:

我应该如何建立一个has_one, through:协会?

例如:

我应该如何构建baz?在这个例子中foo.build_baz,我得到了一个No Method Error.

这里的文档说:

当你声明一个 has_one 关联时,声明类会自动获得与该关联相关的四个方法:

然而,情况似乎并非如此。使用 Pry 反省FooI can see no such method is added as it would be on a has_onewithout a through:.

0 投票
3 回答
856 浏览

ruby-on-rails - 使用未保存的模型建立一个有一个通过与有多个通过

我编写了一个 gem,它允许将 Google 电子表格转换为 Rails 模型。这个过程的顺序包括创建所有模型,然后连接它们的关联,然后保存所有模型。它支持所有可用的关联类型,并且在每种情况下,创建模型、建立关联、然后保存模型都可以正常工作。例外情况如下:

我有一个简单的has_one, through关联(为简洁起见省略了属性访问):

我发现一些不一致的行为取决于关联分配的哪一方:

从右到左分配:

从右到左分配:

这种行为似乎非常不一致。为什么是这样?为什么这是一种方式而不是另一种方式?有没有办法与两个未保存的记录建立这种关系?

我很欣赏显而易见的解决方案是在建立关系之前保存所有内容,但如上所述,我需要在建立关联时取消保存模型,并且在所有其他类型的关联中,这方面没有问题。

0 投票
1 回答
72 浏览

ruby-on-rails - has_one 多态关联 select_box

嗨,我在使用 has_one 关联制作工作 select_box 时遇到问题。我有模型 image_element 是多态的:

模型图像:

和具有以下关联的模型级别:

在关卡表单中,我试图创建 select_box 来为关卡选择一个 image_element。

选择框正在正确查看,但是当我提交表单时,我从服务器得到以下输出:

提前致谢 :)

0 投票
1 回答
922 浏览

ruby-on-rails - Rails 多态 has_one 构建

给定一个ContentBlock模型:

块关联模型:

片段模型:

我需要去做:

@content_block.build_snippet

但这给出了:

undefined method 'build_snippet' for #<ContentBlock:0x007ffb7edde330>

我将如何达到预期的结果?

形式将是这样的:

(最初我认为这content_block很简单belong_to :content, polymorphic: true,但由于多种content类型,这似乎不够。)

这有点接近我正在做的事情,但我无法完全理解它:http: //xtargets.com/2012/04/04/solving-polymorphic-hasone-through-building-and -嵌套形式/

0 投票
1 回答
326 浏览

ruby-on-rails - Rails 4: ActiveRecord => can't "select" has_one :through field from db

I am trying to retrieve one field from a "has_one :through" association. Assuming I have the following model:

... and the following model:

.. and I want to make query using ActiveRecord that pulls out ONLY the persons first name based on the forecast (i know its stupid, but this is just an excercise); so something like this:

or in SQL terms

SO I have tried something like this:

this returns me empty instances of the Forecast object

so then I tried this:

however, this also results in a colleciton of empty Forecast objects

HOWEVER, doing this results in exactly what i want, but this is already after the db has been queried:

Why can't I get just the first_name out of the DB using select and pull only first_name out of the database? I'm obviously missing something.

0 投票
0 回答
553 浏览

ruby-on-rails - has_one 通过并接受_nested_attributes_for

我正在尝试创建一个表单来编辑由 has_one 通过关系链接的 2 个对象:

bank_acount.rb

个人信息.rb

用户.rb

当我尝试提交我的表单时(这是一个模拟的测试)

我收到此错误:

我对多态的东西什么都不做,我不知道这个错误是从哪里来的。

任何想法?

0 投票
1 回答
125 浏览

ruby-on-rails - Rails:通过关联根据其两个has_one查找对象

我的 rails 应用程序有User,ConvoUserConvo模型。UserConvo 属于 User 和 Convo。康沃看起来像这样:

如果查询具有特定主机和来宾的 Convo,我想要做什么。

我试过这个:

includes还有一些用代替的排列joins

本质上,我如何通过关联找到基于其中两个 has_one 的对象。请记住,convo.host作为convo.guest用户。

0 投票
1 回答
5205 浏览

ruby-on-rails-4 - Rails 4 has_one 通过 where 子句

我试图通过 has_one 在两个模型之间建立直接关系,Client并且Address与模型没有直接关系,has_one :billing_address但与模型没有直接关系:ClientAddressContact

客户

接触

地址

所以我想要的是能够做Client.shipping_addressor Client.billing_address,模型enum中的Address是允许查询的。其背后的原因是,ContactofClient将有两个地址记录,一个用于计费,一个用于运输,我希望通过关系快速访问

我在客户端模型中尝试过:

但是当在视图中时:

我得到一个undefined method to_sym' for nil:NilClass我似乎无法解决它,谢谢。

0 投票
0 回答
347 浏览

laravel-5 - Eloquent/Laravel5 连接遥远的关系(“hasOneThrough”)

简短的问题:

“pages”和“tasks”具有由数据透视表“page_tasks”链接的多对多关系。表“responses”通过外键“page_task_id”链接到该数据透视表。

现在我希望能够直接使用 Eloquent 访问页面和响应所属的任务。但是 hasManyThrough 函数不起作用,因为它在不同的地方 exspects foreign_keys:

“字段列表”中的未知列“tasks.page_task_id”

这意味着 eloquent 期望任务表具有指向 page_tasks 的外键 page_task_id。但在我的模型中,page_tasks 表有一个指向任务的外键 task_id。我如何雄辩地讲述这个事实?

我尝试的另一种方法是使用先前定义的现有关系:

然而,这告诉我没有称为“任务”的方法。

实现这一目标的推荐方法是什么?我究竟做错了什么?




如果需要,这里有一些详细信息:

“页面”和“任务”与链接它的数据透视表 page_tasks 具有多对多关系。

页面模型:

任务模型:

这工作正常。

响应模型看起来像这样

PageTask-Model 看起来像这样:

0 投票
0 回答
47 浏览

ruby-on-rails - Rails:has_one 关系可以是直接的或需要 :through

在我的 Rails 应用程序中,我有一个可以是 has_one 或 has_one :through 的关系,我不知道如何构建它。

换句话说,假设我有 Foo、Bar 和 Baz 类,Foo 和 Baz 之间的关系可能是:

或者它可能是

有谁知道管理这两种关系的最佳方法是什么?