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

ruby-on-rails - Rails belongs_to 和单表继承没有表现

我有一个Bike模型和一个Component模型。几个模型继承自Component: Frame,ChainCrankset

当我提交表单时,我的参数如下所示:

在我的控制器中,以下代码中断:

如果我破解我的表单以生成以下参数,它会起作用:

这是我的模型:

单表继承正在工作 - 我可以毫无问题Frame.first地调用。Component.all

我要疯了吗?嵌套参数不是通常的约定吗?这就是通过以下方式生成的:

我究竟做错了什么??

0 投票
1 回答
594 浏览

ruby-on-rails - 使用带有nested_attributes_for 的remote_function 传递formbuilder 时遇到问题

我在使用 AJAX 更新包含nested_attributes_for 表单的部分时遇到问题。

我的应用程序需要根据在主表单中选择的事件类型加载表单的新部分。与每种类型关联的字段存储在数据库表中。

目前,当我选择事件类型时,事件类型的 id 通过远程函数传递给事件控制器。(下面的代码)

这会将我的 id 成功发送到控制器,然后控制器搜索与事件类型 id 关联的所有字段,然后用包含附加字段的部分替换空 div(“具体”的 id)。(下面的代码)

我的部分代码如下:

当我尝试运行它时,我收到一个错误声明

我尝试将 event_form 构建器传递给 url 并将其视为参数,然后它抱怨它无法在字符串上调用 fields_for。

构建器“event_form”是此处父表单上的构建器:

有没有人有任何想法或解决方案可以解决这个问题?提前致谢!

如果它对任何人有帮助,我使用 Ruby 1.8.7 和 Rails 2.3.8 和 Prototype 1.6.0.3。

0 投票
2 回答
2084 浏览

ruby-on-rails - Accepts_nested_attributes_for 和新记录

我将 Accept_nested_attributes_for 与以下模型一起使用:

用户型号:

技能模型:

能力模型:

技能表有一个“名称”属性。如果已经存在具有相同技能名称的记录,我如何才能让 accept_nested_attributes_for 不创建新的技能记录?

0 投票
1 回答
175 浏览

ruby-on-rails - How do I set a filter that will reject existing records when using accepts_nested_attributes_for

I have a Message and Source model related as follows:

When I submit my form (built using form_for and fields_for) it filters out any new sources with blank hrefs. But what I want is for it to delete any existing sources whose hrefs have been set to blank. Is there a simple way to do that?

0 投票
1 回答
707 浏览

ruby-on-rails - 使用 accept_nested_attributes_for 时忽略验证失败(即防止回滚)?

所以假设我有 Person 和 Child 模型:

现在,当我使用嵌套表单并保存带有 2 个新子代的 Person 时,如果其中一个子代验证失败(即它会回滚),则整个事务将失败。

如何忽略此验证失败并仅保存有效的 1 个人和 1 个孩子?我不希望整个交易失败,因为 1 个孩子未能通过验证。我只是想保存有效的记录...

非常感谢帮助,谢谢!

PS 使用:reject_ifif not an option for me 因为我需要能够访问无效记录,直到我将其保存到数据库中(此时我想拒绝那些仍然无效的记录)

0 投票
4 回答
24996 浏览

ruby-on-rails - Accept_nested_attributes_for 和 belongs_to 多态

我想建立一个多态关系accepts_nested_attributes_for。这是代码:

当我尝试访问时Job.create(..., :client_attributes=>{...}给了我NameError: uninitialized constant Job::Client

0 投票
1 回答
2731 浏览

activerecord - Accept_nested_attributes_for 与 formtastic 和回形针相结合

我正在尝试我有一个简单的一对多关联。我正在尝试通过嵌套形式更新属于相册的照片:

相册的编辑表格:

它可以同时工作,也不能同时工作。显然标题和描述没有问题,并且formtastic正确地为相册中的每张照片制作了一个复选框。但在这里我已经有了我的第一个问题:

1) 如何在复选框旁边显示照片?我设法自己解决了这个问题:

显示图像。

这里的专辑和专辑型号:

和照片模型:

专辑控制器:

抛出的错误:

第 50 行对应于 update_attributes 行。

感谢您的帮助。

史蒂夫

0 投票
3 回答
895 浏览

ruby-on-rails - 使用 accept_nested_attributes_for 创建或删除关联

我有 2 个模型,Category并且LineItemTypes

两者已经存在很多,现在需要将它们关联起来。每个类别都有许多 LineItemTypes。

我已经添加accepts_nested_attributes_for :line_item_typesCategory

我尝试hidden_field在表单上使用 a 来创建现有关联的列表LineItemTypes

如果我将一个项目添加到该列表中,我会收到错误消息,指出找不到该类别的 LineItemType。我认为如果该关联不存在,accepts_nested_attributes_for 会添加该关联。还是仅用于“创建”新记录和修改现有关系,而不是创建新关系。

任何想法都无需编写任何东西来遍历生成的表单参数并创建关联?或者更简单的方法来实现这一点?

0 投票
2 回答
6364 浏览

ruby-on-rails - Accepts_nested_attributes_for 链接到现有记录,而不是创建新记录

我有以下型号

现在我有一个订单视图,我想在其中更新产品的商店。问题是我只想将产品连接到我数据库中的现有商店,而不是创建新商店。

我在订单视图中的表单如下所示(使用 Formtastic):

尽管它是嵌套的,但它工作正常。问题是,当我选择一个商店并尝试更新订单(以及与之相关的产品和商店)时,Rails 会尝试使用该名称创建一个新商店。我希望它只使用现有商店并将产品连接到该商店。

任何帮助表示赞赏!

编辑1:

最后我以非常粗暴的方式解决了这个问题:

编辑2:

Pablo 的解决方案要优雅得多,应该比我的更受欢迎。

0 投票
1 回答
1851 浏览

ruby-on-rails - Accepts_nested_attributes_for partials 的 AJAX 更新

我目前的工作环境是 Rails 2.3.8(我的公司没有迁移到 Rails 3 的各种原因)。我正在尝试通过 AJAX 调用更新多模型表单的元素 - 想法是根据用户选择或填写其他字段的方式替换某些下拉列表。

我以前设法通过使用非基于表单的部分来完成这项工作 - 我现在遇到的问题是当部分基于 form_for 和 fields_for 时,重现选择下拉列表的 AJAX 更新。

很抱歉下面的文字墙 - 我试图尽可能地减少它(代码本身在我的测试站点上确实有效)。

如何在爆发控制器中生成表单构建器元素,然后将其传递给部分类别以代替 event_form?

任何指针都会很棒:D

楷模

意见

_形式

_outbreak_type_select

_category_select

调用 update_select_menus 后如何生成 event_form

RJS

控制器

爆发