问题标签 [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 投票
3 回答
2341 浏览

ruby-on-rails - Has_one 关联应该是一个“只有”一个关联

我有一个 User 和一个 Gallery 模型以及以下关联:

画廊.rb

用户.rb

画廊是通过表单创建的,它不是基于用户创建的(我这样做是因为不允许某些用户创建画廊)

这是具有创建操作的画廊控制器:

画廊控制器.rb

1.)我的第一个问题是:

当我设置像这样的一对一关联时,用户可以创建任意数量的画廊。那么它不是真正的“只有”一个协会吗?(我不认为我对此有概念。为什么没有引发错误?)

2.)我的第二个问题:

为了每个用户只有一个画廊,我对画廊模型中的 user_id 进行了验证

这是避免与一个用户关联的许多画廊记录的正确方法吗?

编辑

感谢 Reuben,我是这样写的:

控制器

在视图中(new.html.erb)

无需 user_id 验证

0 投票
2 回答
357 浏览

ruby-on-rails - Rails 3,嵌套形式的评论,错误的路线?

我有一个Posts模型,其中有许多多种语言的帖子。这有点不标准,但为了说明:

即一个帖子有一个EngPost。而 EngPost 在模型中被定义为:

最后,eng_comments 模型是:

routes.rb 定义:

问题 - 无法使用eng_comments 呈现帖子,我试过:

并尝试:

这会导致错误

谢谢。

0 投票
2 回答
343 浏览

ruby-on-rails - 有一个在看错表

我试图has one在 RoR 中建立关系。协议有一个联系人。在协议表中有一个名为 的列contact_id

当我尝试像这样调用绿化的联系人时:(<%= agreement.contact.name %>联系人表有一列name)我收到错误Unknown column 'contacts.agreement_id'应该在哪里寻找agreement.contact_id

有什么建议么?

0 投票
1 回答
310 浏览

ruby-on-rails - has_one 与 Paperclip 的关系

假设我有 2 个模型,例如 News、Clients。使用回形针的默认选项,我需要为它们中的每一个创建额外的列,例如 (photo_file_name .....) 但我只想创建不同的模型,比如说 Asset

资产.rb

客户端.rb

客户端控制器.rb

_form.html.erb

现在这正在工作,但是如何在显示视图中显示它?我正在这样做:

我知道这是不正确的,因为@client.asset 没有 url 列,怎么办?

0 投票
1 回答
555 浏览

ruby-on-rails - 如何拥有多个相同类型的唯一 has_one 关联?

我正在制作一个 ruby​​ 应用程序来跟踪乒乓球比赛的统计数据。到目前为止,这就是我的播放器模型的样子

但是,当我加载页面时,我收到一条错误消息,提示“未知键:来源”。如果你不知道我在做什么,该模型应该包含两个用户对象,一个标有“赢家”,一个标有“输家”。谁能指出我在这里做错了什么?

0 投票
1 回答
762 浏览

ruby-on-rails - has_and_belongs_to_many 或 has_many 用于用户/组关系?

我正在开发具有以下模型的 Rails 3.1 应用程序:

用户:

团体:

它们之间有一个连接表,组表也有一个“user_id”列。我希望能够在我的 groups_controller.rb 中写这个

但是当我这样做时,我会遇到以下错误:

我不明白为什么它甚至在寻找那个专栏。任何帮助,将不胜感激!

0 投票
2 回答
1713 浏览

ruby-on-rails-3 - Rails 3 - 如何通过关联获取数据

整个下午我都在努力从协会获取数据。我有这 3 个模型:

用户

用户汽车

user_cars具有列

如果当前登录的用户拥有汽车,我可以查看所有汽车的声明以及我想打印的每辆汽车。

我正在尝试这样做:

但这给了我错误

我想问你——我是否已经在联想或观点上有过错?

编辑:

0 投票
1 回答
888 浏览

ruby-on-rails-3 - 无法批量分配受保护的属性:地址

当我尝试分配嵌套属性时,我在日志中得到以下信息。我已经扫描并尝试了所有我能找到的答案,但没有任何效果。

users, "authority_id"=>"1", "provider_id"=>"11789", "details"=>"", "directions"=>""}} 用户负载 (0.4ms) SELECT .* FROM usersWHERE users. id= 4 限制 1

警告:无法批量分配受保护的属性:地址

我有 CareHome < 服务的 STI。地址是一种多态关系。

在服务中,我有:

在 CareHomeController#new/create 我有

如果我将 :address 添加到 attr_accessible 我得到错误:

地址(#2560574700) 预期,得到 ActiveSupport::HashWithIndiffergentAccess(#2157282280)

我的 Rails 版本是 3.1.1。

我想这一定是一些微妙的事情,但我已经没有想法可以尝试了。任何帮助表示赞赏!

0 投票
2 回答
202 浏览

ruby-on-rails - Rails 3. 为什么我进入编辑页面时我的嵌套记录被删除了?

每个公司都应该有一个 CompanyContact。我的公司表单包含公司联系人字段。当我更新公司并添加新的公司联系人时,它工作正常,因为在公司的显示页面中,它确实显示了新的公司联系人。但是,当我单击将我带到编辑页面的编辑链接时(注意:我什至还没有单击更新按钮),在公司联系人应该是空白的编辑公司表单中。所以我检查了日志,公司联系人被删除了。

DELETE FROM "company_contacts" WHERE "company_contacts"."id" = ? [["id", 4]]

我很困惑,因为我没有调用任何删除操作。

0 投票
1 回答
596 浏览

ruby-on-rails - 当我调用 build 时,Rails 嵌套属性被删除

我对 Rails 很陌生,所以很可能这里有一个简单的概念,我只是不明白,但这就是正在发生的事情。

我有一个用户模型(由设计提供支持),每个用户都有自己的照片属性。我知道我可以将照片作为用户的一部分包含在内,但照片实际上是网站的核心内容,所以我更希望它们成为自己的表格。照片模型有一个回形针附件,用于处理实际的照片文件。

问题是:当我以用户身份上传照片时,一切都按计划进行,但由于某种原因,当我返回照片上传页面时,我刚刚上传的照片被删除了。我已经追踪到这行代码:

@photo = @user.build_photo

如果我不调用它,则上传表单会引发 nil 类错误,因为 @user.photo 不存在,但是当我调用它时,它会删除以前上传的照片,这很奇怪,因为就我知道,改变数据库的是创建函数,而不是构建。

这是服务器显示的内容:

在 2012-03-08 10:19:21 -0800 开始 GET "/settings" for 127.0.0.1 由 SettingsController#index 处理为 HTML 用户负载 (0.3ms) SELECT users.* FROM usersWHERE usersid= 6 LIMIT 1 照片负载 (0.3ms) SELECT photos.* FROM photosWHERE photosuser_id = 6 LIMIT 1 (0.2ms) BEGIN [回形针] 安排删除附件。SQL (0.6ms) 从photosWHERE中删除photosid= 20 [回形针] 删除附件。

这是我的几个模型和控制器: