问题标签 [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.
ruby-on-rails - 我应该如何通过关联建立 has_one?
对于一个has_one
关联,我可以建立一个这样的关联:
我应该如何建立一个has_one, through:
协会?
例如:
我应该如何构建baz
?在这个例子中foo.build_baz
,我得到了一个No Method Error
.
这里的文档说:
当你声明一个 has_one 关联时,声明类会自动获得与该关联相关的四个方法:
然而,情况似乎并非如此。使用 Pry 反省Foo
I can see no such method is added as it would be on a has_one
without a through:
.
ruby-on-rails - 使用未保存的模型建立一个有一个通过与有多个通过
我编写了一个 gem,它允许将 Google 电子表格转换为 Rails 模型。这个过程的顺序包括创建所有模型,然后连接它们的关联,然后保存所有模型。它支持所有可用的关联类型,并且在每种情况下,创建模型、建立关联、然后保存模型都可以正常工作。例外情况如下:
我有一个简单的has_one, through
关联(为简洁起见省略了属性访问):
我发现一些不一致的行为取决于关联分配的哪一方:
从右到左分配:
从右到左分配:
这种行为似乎非常不一致。为什么是这样?为什么这是一种方式而不是另一种方式?有没有办法与两个未保存的记录建立这种关系?
我很欣赏显而易见的解决方案是在建立关系之前保存所有内容,但如上所述,我需要在建立关联时取消保存模型,并且在所有其他类型的关联中,这方面没有问题。
ruby-on-rails - has_one 多态关联 select_box
嗨,我在使用 has_one 关联制作工作 select_box 时遇到问题。我有模型 image_element 是多态的:
模型图像:
和具有以下关联的模型级别:
在关卡表单中,我试图创建 select_box 来为关卡选择一个 image_element。
选择框正在正确查看,但是当我提交表单时,我从服务器得到以下输出:
提前致谢 :)
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 -嵌套形式/
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.
ruby-on-rails - has_one 通过并接受_nested_attributes_for
我正在尝试创建一个表单来编辑由 has_one 通过关系链接的 2 个对象:
bank_acount.rb
个人信息.rb
用户.rb
当我尝试提交我的表单时(这是一个模拟的测试)
我收到此错误:
我对多态的东西什么都不做,我不知道这个错误是从哪里来的。
任何想法?
ruby-on-rails - Rails:通过关联根据其两个has_one查找对象
我的 rails 应用程序有User
,Convo
和UserConvo
模型。UserConvo 属于 User 和 Convo。康沃看起来像这样:
如果查询具有特定主机和来宾的 Convo,我想要做什么。
我试过这个:
includes
还有一些用代替的排列joins
。
本质上,我如何通过关联找到基于其中两个 has_one 的对象。请记住,convo.host
作为convo.guest
用户。
ruby-on-rails-4 - Rails 4 has_one 通过 where 子句
我试图通过 has_one 在两个模型之间建立直接关系,Client
并且Address
与模型没有直接关系,has_one
:billing_address
但与模型没有直接关系:Client
Address
Contact
客户
接触
地址
所以我想要的是能够做Client.shipping_address
or Client.billing_address
,模型enum
中的Address
是允许查询的。其背后的原因是,Contact
ofClient
将有两个地址记录,一个用于计费,一个用于运输,我希望通过关系快速访问
我在客户端模型中尝试过:
但是当在视图中时:
我得到一个undefined method to_sym' for nil:NilClass
我似乎无法解决它,谢谢。
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 看起来像这样:
ruby-on-rails - Rails:has_one 关系可以是直接的或需要 :through
在我的 Rails 应用程序中,我有一个可以是 has_one 或 has_one :through 的关系,我不知道如何构建它。
换句话说,假设我有 Foo、Bar 和 Baz 类,Foo 和 Baz 之间的关系可能是:
或者它可能是
有谁知道管理这两种关系的最佳方法是什么?