问题标签 [fields-for]

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

ruby-on-rails - rails fields_for parent id 未在子模型上设置

我一直在研究NestedAttributesFormHelper的 rails api 文档并搜索 stackoverflow。

我的 new.html.haml 视图中有以下代码:

我的控制器中的以下代码:

这是我的listing.rb:

还有我的图片.rb:

当我尝试提交表单时收到以下错误消息:

我无法弄清楚为什么框架没有自动将 main_picture(对象图片)的 listing_id 字段设置为父列表对象的 id 值。

有什么我做错了吗?

0 投票
2 回答
2650 浏览

ruby-on-rails - simple_fields_for form_builder.object 返回新对象?

我试图弄清楚您应该如何使用 Rails 表单生成器(或在本例中为 simple_form)访问对象。

我按照http://apidock.com/rails/ActionView/Helpers/FormHelper/fields_for中的描述传入对象,如下所示:

但是,当我在部分内部调用 f.object 时,我得到一个包含 nil id 等的“新”Section 对象,从而破坏了我的 link_to 路径。

即使以“标准”方式传递变量似乎也被打破了,例如:

在部分内部有 foo 未定义。

我应该如何访问为使用 fields_for has_many 关联而构建表单的预期对象?

0 投票
1 回答
481 浏览

ruby-on-rails-3 - Rails - 通过回形针在嵌套字段上附加图像会导致不需要/不可避免的重定向

我的项目中有一个表格,用于一个模型Artworks,我将其用于Artworksfields_for的资源。Photohas_many :photos

Photo模型使用回形针附加图像。

我所有的表单都是基于 AJAX 的,这意味着永远不应该重新加载页面,并且我不应该redirect_to在我的控制器中的任何地方使用(我不是)。

当我fields_for在我的表单中包含回形针 file_field 时,如果我在提交表单时创建或更新照片,我会收到以下错误:

销毁图像复选框按预期工作。更新表单上的其余详细信息并按预期提交它,只需返回 AJAX 响应并填写页面。

我的艺术品控制器如下:

引起冲突的形式是这样的:

我要更新的 JS 文件是:

0 投票
3 回答
1794 浏览

ruby-on-rails - 在表单中选择多个类别(rails)

我有这个tripbuilder,我想为其分配类别。因此,我将模型设置为旅行可以在我的数据库的类别表中包含任何(或更多)类别。然而; 我不知道如何设置允许用户通过复选框选择类别的表单。由于在这种情况下 fields_for 听起来不是一个可靠的方法(因为我想用复选框查看所有类别并选择我想要的尽可能多的类别)。谁能帮我吗?

我试过这种形式:

0 投票
2 回答
11750 浏览

ruby-on-rails - fields_for has_many 关联的复数未显示在视图中

目前,一个Item 属于一个Company并且has_many ItemVariants

我正在尝试使用嵌套的 fields_for 通过 Item 表单添加 ItemVariant 字段,但是使用 :item_variants 不会显示该表单。它仅在我使用单数时显示。

我检查了我的关联,它们似乎是正确的,这可能与嵌套在公司下的项目有关,还是我错过了其他东西?

提前致谢。

注意:下面的片段中省略了不相关的代码。

编辑:不知道这是否相关,但我使用 CanCan 进行身份验证。

路线.rb

项目.rb

item_variant.rb

项目/new.html.erb

0 投票
1 回答
875 浏览

ruby-on-rails - 在rails 3.2中带有单选按钮的fields_for

我目前确实有一个活动注册表格,注册表格中的参与者数量不限,因此您可以通过 javascript 附加表单,我从第一个必须参与者的 fields_for 生成器中复制了该表单。

现在我有一个性别字段,它被称为:性别,和其他 10 个其他个人数据的输入一样。

然而,性别字段是唯一不为每个参与者发送的字段。该字段只是丢失。

fields_for 助手将其命名为例如:

当我添加 3 个参与者时,我得到一个数组,例如:

设置为导轨。

由于单选按钮按其名称分组,我想我可以将索引添加到空括号中,让它像

对于第 2 位参与者。

这将导致

在韦布里克。

我对如何继续感到有些困惑,可能给所有输入提供索引,这感觉一点也不像 rails-way。

有什么建议如何让它工作吗?我的目标是为每个参与者发送性别。

最好的问候和感谢,丹尼尔

代码,简化:

表格:

_participant-partial,用于一个有效的输入和性别:

生成此 html 代码:

0 投票
1 回答
650 浏览

ruby-on-rails-3 - 使用嵌套属性轻松选择表单中的关联

我正在尝试创建一个嵌套属性表单来创建一个模型,该模型主要是其他两个模型之间的关联“连接器”。在我的例子中,模型代表books,awards和“连接器”模型book_awards。当我编辑一本书时,我希望能够快速选择它获得了哪些奖项。

我一直在使用 http://railscasts.com/episodes/196-nested-model-form-part-1 来帮助我入门,但恐怕我几乎被卡住了。

另一个看起来相似的 SO 问题是 accept_nested_attributes_for 和 find_or_create?不幸的是,这也不是我正在做的事情,我无法适应它。

我的模型看起来像这样。每个模型都有额外的属性和验证等,但为了清楚起见,我已经删除了它们。

在我的书中用于编辑和新建的控制器方法,以及用于创建和更新的失败案例中,我有一行@awards = Award.all.

在我看来,我希望看到所有奖项的列表,旁边有复选框。当我提交时,我想更新、创建或销毁模型book_award。如果选中该复选框,我想更新现有模型或创建一个新模型(如果它不存在)。如果未选中该复选框,那么我想销毁现有模型,或者如果奖励从不存在,则什么也不做。我对book_awards. 我不确定复选框选择器是否应该在这个部分中。

我认为我的复选框将成为我的钩子,:_destroy但它的极性颠倒了。我认为这样的事情基本上可以做到:

目前,我有这个,但我不确定它真正属于哪里。

接下来是我目前不起作用的观点,但也许它会帮助展示我正在尝试做的事情。我循环遍历awards并使用 afields_for为已经存在的任何内容设置嵌套属性。它非常丑陋,但我认为它有点工作。但是,我真的不知道如何开始使用 else 案例。

我希望每次都以相同的顺序列出奖项(我@awards在控制器中的分配可能会指定顺序),而不是首先或最后列出现有的奖项。

0 投票
2 回答
467 浏览

ruby-on-rails - 文本框的字段未使用嵌套属性出现

我正在尝试将消息保存到我的活动类,但文本字段未显示。我尝试了一些不同的变化,但似乎无法让它发挥作用。我在 fields_for 中放置了一个调试器,代码甚至没有深入到那个逻辑。这是代码:

为什么 text_area 不会显示在页面上?

0 投票
1 回答
356 浏览

ruby-on-rails - 批量分配、嵌套表单和当前用户作为作者

我有几个对象,foo、bar 和 user。

我有一个用于创建新的 foo 对象的表单,它使用 simple_fields_for 和 accept_nested_attributes_for 同时创建一个新的子栏对象。

现在,我想将 current_user 设置为新栏的作者属性,但我不知道如何最好地做到这一点。(仍然是 Rails 的新手。)

我在 foo 控制器的 create 方法中尝试了以下操作:

但是,当我运行它时,我得到了一个例外。

任何人都可以就如何最好地解决这个问题提供任何建议吗?

0 投票
0 回答
252 浏览

ruby-on-rails-3 - 在 fields_for 中计数

我有一个旅行中的旅行地点列表,我想编辑。旅行地点与我的旅行(旅行中的很多地点)相关联。在我的编辑表单中,我想将每个位置从 1 编号到 * 以供用户查看。我知道有一个名为 each_with_index 的选项。但这不适用于我,因为我需要使用 fields_for。

我在 SO (http://stackoverflow.com/questions/4853373/rails-fields-for-with-index) 上看到了一个解决方案,但是如果我在@trip 上使用 each_with_index,我只会算到 1(只有 1显然我的旅行编辑中的旅行)。如果我在其中使用 @trip.triplocations 和其中的 fields_for,我会得到 3 倍相同的输出(存在 3 个位置),这也不是我想要的。

我真正想要的是:

1 标题:DB 值 描述:DB 值

2 标题:DB 值 描述:DB 值

该表单就像使用 fields_for 一样具有魅力。但我只是错过了每种形式的计数。有人可以帮我吗?

这是我的旅行编辑表格:

编辑:我现在通过基本的 i = 1 并在 fields_for 循环 i = i+1 的末尾修复它。但我相信其他人可以想出更好的方法,对吧?