问题标签 [accepts-nested-attributes]

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 投票
0 回答
112 浏览

ruby-on-rails - Rails 中嵌套属性错误的自定义哈希

我有针对用户模型的地址和电话关联,这意味着用户可以有多个地址和多个电话。

在我使用 devise_token_auth gem 的注册时,我必须存储 1 个地址和 1 个电话。

用户.rb

application_controller.rb

问题

如果我发送的地址和电话属性为空/无效,我将收到如下错误 JSON:

继文章Errors can be indexed with nested attributes in Rails 5 by usingindex_errors: true之后,我收到错误 JSON 为:

我真正需要的是以下内容,我可以轻松地用任何语言遍历:

0 投票
2 回答
28 浏览

ruby-on-rails - Rails 5.0 中的嵌套属性在保存记录时出错

我有 User 模型(用于设计),然后我有引用 User 的 member ,然后是引用 member 的投资组合。

我在注册时创建了一个用户。现在我希望注册用户更新他的详细信息,即成员和投资组合表。投资组合模型是:-

在我的 members_controller 中,我拥有的代码是:-

html.erb 如下所示:-

但是,当在保存成员对象的创建控制器方法中它失败并说 Portfolio.member 不存在。尽管我在传入的参数中将portfolio_attributes 作为带有标题和副标题的键,并且这些也经过验证,但保存失败。你能告诉我我在这里做错了什么吗?

我在此处调用 adter member.save 的错误如下所示:-

0 投票
1 回答
150 浏览

ruby-on-rails - Rails 不通过 Accepts_nested_attributes_for 保存图像

我正在尝试使用 Accept_nested_attributes 通过 ActiveStorage 保存图像。当我编辑子记录时它工作正常,但是当我将它放在表单中时,它看起来一切正常,但它不是实际保存。贝娄是我目前正在使用的代码:

控制器:

模型

和表格

我最近在表单中添加了“, :html => { :multipart => true }”,因为它是从类似的 StackOverflow 推荐的,但这并没有成功。我的控制台数据看起来可以正常工作,在我修复控制器之前,我收到了被拒绝的保存,但现在它似乎采用了 :image。

任何帮助将不胜感激,我觉得我只是缺少一些简单的东西。

根据开发日志的要求。第一个是 has_nested 不起作用的那个。第二个是工作的。

和工作的那个。

0 投票
1 回答
16 浏览

forms - 在嵌套属性表单上设计 strong_params

我正在关注本教程 [https://kakimotonline.com/2014/03/30/extending-devise-registrations-controller/][1],其目的是在同一表格上创建一个设计用户及其所属公司。

楷模 :

我很惊讶地看到“属于”可以有 accept_nested 提及(以为只有所有者可以)

表单视图是:

创建注册控制器以替换默认控制器:

strong_prams 权限:

这条路线

在控制台上,我可以创建实例:

创建一个用户和他的关联公司:)

但是表单在 #create : 中失败。路线有效,参数正常,#create 检索正确的允许值,

0 投票
2 回答
193 浏览

ruby-on-rails - 如果字段名称相同,如何在 Rails 中使用嵌套表单?

我有两个模型,狗和主人,我希望他们的名字相同,如果我要求填写两次字段(一次是狗,另一次是主人),那将是多余的。我想知道是否有一种更简单的方法可以用一个输入更新两个数据库。

0 投票
1 回答
47 浏览

jquery - 在 Rails 中使用数据表时,使用“accepts_nested_attributes_for”的 ID 字段消失

背景:我正在使用 simple_form 在 Rails 中呈现关联的嵌套属性。我已经使用 simple_fields_for 在嵌套关联的编辑表单上应用了 jquery-datatables gem。

我的模型是:

我的看法是:

编辑.html.slim

_foo_fields.html.slim

控制器

Javascript

问题:使用上述方法,嵌套关联中的 id 字段从参数中消失了。如果没有应用数据表,它会重新出现。这会导致 rails 创建新字段,而不是在启用数据表的情况下更新现有字段。

没有数据表的参数

带有数据表的参数(不存在 id 字段)

注意:我允许嵌套关联的参数中的所有属性,所以它不是关于参数允许的问题。

0 投票
1 回答
34 浏览

ruby-on-rails - Ruby on Rails 中的多对多关系,无法使用多选字段创建多条记录

我在两个模型(区域和列表)之间有多对多的关系。我正在尝试在列表表单上使用 fields_for 以多选区域并为每个选定区域创建区域化行。

我可以通过单个输入实现区域化连接的创建,但无法在下面进行多选操作。

任何线索都会很棒。谢谢。我猜我需要在 created 方法中为区域化表单中的每个选定区域创建一个循环。

上市模式

区域模型

区域化模型

上市控制器

上市表格

0 投票
1 回答
147 浏览

ruby-on-rails - Rails 4 接受带有 has_one 关联的嵌套属性

我有一个关于 Rails 嵌套属性的问题。我正在使用 Rails 4 并有这个模型:

例如,当我使用时: Location.find(100).update(cod_photo_ids: [1,2,3])它有效。

Location.find(100).update(parking_photo_id: 1)不起作用。

我不知道嵌套属性 has_one 和 has_many 有什么区别。

或者,当我已经有子对象并且想要将父对象链接到子对象并且不想使用子更新时,我们是否有任何解决方案。

谢谢你。

0 投票
0 回答
54 浏览

ruby-on-rails - 在两个模型中使用 accept_nested_attributes_for 时出现重复的验证错误。我可以避免这种情况吗?

我有以下型号:

当我执行以下步骤时:

我得到重复的错误:

有没有什么通用的方法可以避免这种行为?

(从其中一个模型中删除accepts_nested_attributes_for对我来说不是解决方案,我也需要.user打电话)

0 投票
0 回答
28 浏览

ruby-on-rails - 为 has_many 关联显示设置的字段数时,如何避免在 Accept_nested_attributes_for 中保存 nil/blank?

我的问题是如何避免在嵌套的 rails 表单上保存空记录的边缘情况。我有一个简单has_many的 ,用户最多可以有 5 个职位。

proc 应该删除所有空白,但无论如何都会创建它们(!),因为我在 users_controller 中有这个,用于确保视图中始终显示 5 个表单字段:

有了这个,即使在提交表单之前,空白仍然出现在数据库中,因为之前的代码build是那些空白记录,并且模型验证似乎出于某种原因允许它 - 我没想到会这样。

问题

如何确保为 5 个不同的关联记录(职位)显示 5 个字段,确保空白职位不作为记录保存到数据库中?