问题标签 [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.
ruby-on-rails - rails fields_for parent id 未在子模型上设置
我一直在研究NestedAttributes和FormHelper的 rails api 文档并搜索 stackoverflow。
我的 new.html.haml 视图中有以下代码:
我的控制器中的以下代码:
这是我的listing.rb:
还有我的图片.rb:
当我尝试提交表单时收到以下错误消息:
我无法弄清楚为什么框架没有自动将 main_picture(对象图片)的 listing_id 字段设置为父列表对象的 id 值。
有什么我做错了吗?
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 关联而构建表单的预期对象?
ruby-on-rails-3 - Rails - 通过回形针在嵌套字段上附加图像会导致不需要/不可避免的重定向
我的项目中有一个表格,用于一个模型Artworks
,我将其用于Artworksfields_for
的资源。Photo
has_many :photos
该Photo
模型使用回形针附加图像。
我所有的表单都是基于 AJAX 的,这意味着永远不应该重新加载页面,并且我不应该redirect_to
在我的控制器中的任何地方使用(我不是)。
当我fields_for
在我的表单中包含回形针 file_field 时,如果我在提交表单时创建或更新照片,我会收到以下错误:
销毁图像复选框按预期工作。更新表单上的其余详细信息并按预期提交它,只需返回 AJAX 响应并填写页面。
我的艺术品控制器如下:
引起冲突的形式是这样的:
我要更新的 JS 文件是:
ruby-on-rails - 在表单中选择多个类别(rails)
我有这个tripbuilder,我想为其分配类别。因此,我将模型设置为旅行可以在我的数据库的类别表中包含任何(或更多)类别。然而; 我不知道如何设置允许用户通过复选框选择类别的表单。由于在这种情况下 fields_for 听起来不是一个可靠的方法(因为我想用复选框查看所有类别并选择我想要的尽可能多的类别)。谁能帮我吗?
我试过这种形式:
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
ruby-on-rails - 在rails 3.2中带有单选按钮的fields_for
我目前确实有一个活动注册表格,注册表格中的参与者数量不限,因此您可以通过 javascript 附加表单,我从第一个必须参与者的 fields_for 生成器中复制了该表单。
现在我有一个性别字段,它被称为:性别,和其他 10 个其他个人数据的输入一样。
然而,性别字段是唯一不为每个参与者发送的字段。该字段只是丢失。
fields_for 助手将其命名为例如:
当我添加 3 个参与者时,我得到一个数组,例如:
设置为导轨。
由于单选按钮按其名称分组,我想我可以将索引添加到空括号中,让它像
对于第 2 位参与者。
这将导致
在韦布里克。
我对如何继续感到有些困惑,可能给所有输入提供索引,这感觉一点也不像 rails-way。
有什么建议如何让它工作吗?我的目标是为每个参与者发送性别。
最好的问候和感谢,丹尼尔
代码,简化:表格:
_participant-partial,用于一个有效的输入和性别:
生成此 html 代码:
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
在控制器中的分配可能会指定顺序),而不是首先或最后列出现有的奖项。
ruby-on-rails - 文本框的字段未使用嵌套属性出现
我正在尝试将消息保存到我的活动类,但文本字段未显示。我尝试了一些不同的变化,但似乎无法让它发挥作用。我在 fields_for 中放置了一个调试器,代码甚至没有深入到那个逻辑。这是代码:
为什么 text_area 不会显示在页面上?
ruby-on-rails - 批量分配、嵌套表单和当前用户作为作者
我有几个对象,foo、bar 和 user。
我有一个用于创建新的 foo 对象的表单,它使用 simple_fields_for 和 accept_nested_attributes_for 同时创建一个新的子栏对象。
现在,我想将 current_user 设置为新栏的作者属性,但我不知道如何最好地做到这一点。(仍然是 Rails 的新手。)
我在 foo 控制器的 create 方法中尝试了以下操作:
但是,当我运行它时,我得到了一个例外。
任何人都可以就如何最好地解决这个问题提供任何建议吗?
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 的末尾修复它。但我相信其他人可以想出更好的方法,对吧?