问题标签 [nested-form-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 回答
3119 浏览

ruby-on-rails-3 - 不能使用 nested_form_for gem

我第一次使用nested_form_for gem。我不知道这是否是一个问题,或者我是否使用错误,但我收到“未定义的方法 nested_form_for”错误。如您所见,我有一个非常常规的表格:

顺便说一句,我安装了 gem 并运行:rails generate nested_form:install command以生成我在 jquery 包含()之后包含在我的布局中的 nested_form.js 文件<%= javascript_include_tag :default, 'nested_form' %>

有人也在用这个宝石吗?

谢谢!

0 投票
1 回答
634 浏览

ruby-on-rails - 如何使用 form_for 更新关联的 has_many :通过关联

在我的 member_profile 表单中,我希望拥有对管理员可见的角色复选框。我想使用一些嵌套的form_for,但不能让它工作,所以我求助于手动创建check_box_tags(见下文),然后手动将它们添加到member_profile.member。

请注意,成员模型是设计,我不想将这些字段与我的成员配置文件数据混合,以防我将来更改身份验证系统。

形式 (haml)

member_profiles_controller.rb

0 投票
1 回答
431 浏览

ruby-on-rails - form_for 模型更新

我有按以下方式组织的嵌套资源:

在视图部分,我想要一个独特的 form_for,它能够一次处理(更新/创建)配置文件模型和位置。可能吗 ?代码是什么?如何组织一次接收多个模型的控制器?

肿瘤坏死因子

0 投票
1 回答
3408 浏览

ruby-on-rails - Rails 3 form_for 嵌套路由

我正在尝试按照 Ruby 指南中的博客和评论示例(http://guides.rubyonrails.org/getting_started.html#adding-a-route-for-comments)使用嵌套路由执行 form_for。

我正在做一个应用程序来创建带有很多问题的调查,这些问题都在一个组中,每个问题都有一个或多个答案选项。

这是reoutes.rb

控制器运行良好,当我显示创建的组时,可以看到这些问题并使用嵌套的 form_for 波纹管创建问题:

组/show.html.erb

现在我需要展示答案以及将答案插入该问题的某种方法。使用@group.questions.each 块内的 q.answers.each 显示答案效果很好。但我要做的是制作一个 form_for 来回答,我尝试了下面的代码但没有工作:

组/show.html.erb

Rails 给出了一个错误:

未定义的方法“question_answers_path”

当我尝试使用 form_for([q, q.answers.build]) 时。

有什么帮助吗?

0 投票
1 回答
560 浏览

ruby-on-rails - 以双嵌套形式提交多条记录时出现未知属性错误

我将nested_form 用于以下情况:

Parent (climb) ==has_one==> Join Model (route_ascent) ==多态 has_many==> Children (route_step)

所以我有一个看起来像的攀爬物体

这里是 RouteAscent

这是RouteStep

在我的 Climb 表格中,我有

我的 _route_ascent_fields 部分只是

而我的 _ascent_step_fields 部分是

我遇到的问题是,每当我在连接模型的 has_many 关联中提交包含多个对象的表单时,都会收到未知属性错误。在这种情况下,表单生成的参数如下所示:

看起来第二个对象没有正确包含在参数中,但我无法弄清楚为什么会这样。

无论 has_many 关联是否以对象开头,都会出现问题。所以如果它是空的,我可以成功创建一个对象,但不能创建两个。如果它已经有一个对象,我不能再添加一个对象而不会出现此错误。

将继续努力解决这个问题,但我会很感激任何关于问题可能是什么的见解!

0 投票
1 回答
4609 浏览

ruby-on-rails - Rails 3:nested_form、collection_select、accepted_nested_attributes_for 和 fields_for

更新:在这里回答

这里和互联网上有很多关于让nested_form、collection_select、accepted_nested_attributes_for 和fields_for 很好地一起玩的好问题和答案,但我仍然很难过。如果您能帮助我,请提前致谢。

目的:生成新的 isbn 记录。一个 isbn 可以有很多贡献者。我成功地使用ryanb nested_form gem根据需要在表单上动态生成新的贡献者字段。其中一个字段使用 Contributor 中所有名称记录的 collection_select 下拉列表。创建新记录时,需要将许多贡献者 id 写入连接表(contributors_isbns)。

我已经完成了一些工作,但仅限于可以将单个贡献者 ID 保存到 isbns 表中的新记录的程度。我似乎无法将任何数据写入连接表。

我有三个模型。贡献者和 Isbns 有多对多的关系,我使用 has_many :through 完成了这一点。一个 isbn 可以有多个贡献者,一个贡献者可以有多个 isbn。他们通过contributors_isbn 加入。

isbn.rb

贡献者.rb

贡献者_isbn.rb

在 isbns 控制器中:

(显然我无法决定使用哪种构建方法。)

在 isbns new.html.erb 视图中:

在 _fields 部分中,具有非常简单的 text_field 的版本:

在这里,一个更高级的版本也不起作用:

此代码使用此处的答案。两者都会导致nested_form_for @isbn在线上出现“缺失块”错误。

再次非常感谢。

更新:这里有一些关于 nested_form gem 的信息,对于查看这类问题可能会派上用场。这是关于accept_nested_attributes_for 的[2009 年但仍然相关的帖子][4]。

更新 2:嗯,这是一件事。我一直在用两个不同的模型研究这个的缩减版本,不使用 collection_select 或 has_many,而只是使用简单的 belongs_to / has_many 关联。父模型是 Contract,子模型是 Istc。我什至无法通过嵌套表单创建记录。但是,在查看堆栈并在谷歌上搜索错误消息“警告。无法批量分配受保护的属性”之后,我刚刚添加:istcs_attributes到我的:attr_accessible行中,现在我可以添加记录。缺少一个相当重要的部分,以及 RTFM 的一个案例,因为它就在 gem 自述文件中。我稍后会更新,看看这是否适用于更复杂的 has_many 通过关联。

更新 4:[这里][5] 是另一个关于如何处理零记录错误消息的有用帖子。

更新 5:稍微绕道 - 当我向表单动态添加一组新字段时,正在创建一个子记录。Duh - 我在子表单区域中有“添加”链接。这是之前的:

这是之后:

更新 6,回答后:

哦不。collection_select 不起作用。它正在添加新的贡献者记录,而不是使用贡献者模型中的现有记录。其他人也有这个问题。有任何想法吗?

0 投票
1 回答
105 浏览

ruby-on-rails - 当四个中的三个嵌套时,是否可以从同一个表单中编辑不同的模型?如何?

如何在一个表单中处理多个模型?我知道存在嵌套模型,但我不确定这是否是相同的情况。抱歉,对 Rails 有点陌生。

在我的情况下,项目配置文件包含标题、日期、描述以及版主等字段。然而,版主驻留在他们自己的模型上,这也得到了更新。然后是文件(名称、文件类型等)和联系人(名字、姓氏等)模型,它们也属于项目配置文件。

以下是模型之间的伪关系,以防万一: project_profile has_many moderators project_profile has_many files project_profile has_one contact

我希望能够从一个表单中编辑所有四个。这怎么可能?谢谢!

导轨 3.0.7 红宝石 1.9.2

0 投票
2 回答
270 浏览

ruby-on-rails - 为什么我的带有嵌套模型的 rails form_for 不会记住表单值?

我有一个名为的助手user_order,它返回一个Order. Order接受User和的嵌套属性Address。我的(缩写)表格如下所示:

Order.rb 型号代码:

控制器代码:

当表单提交错误并重新呈现表单时,不会记住 user.email 的值。

为什么会这样?

0 投票
1 回答
1366 浏览

ruby-on-rails-3 - 未提交简单嵌套形式的隐藏字段

环境:Rails 3.1.0,Ruby 1.9.2

我有投资组合模型,其中 has_many Positions which has_one Asset。

这是 Position 模型的架构:

当用户创建投资组合时,他/她应该输入投资组合名称,然后通过添加股票代码来添加头寸。Jquery 完成它的工作并显示资产的全名,并将asset_id 插入隐藏字段。

我同时使用 nested_form 和 simple_form 如下:

问题是隐藏字段中的asset_id值没有被提交。参数如下所示:

0 投票
3 回答
1171 浏览

ruby-on-rails - nested_form 显示部分两次

我在 Rails 3.1 应用程序中使用 gem nested_form。问题是当我单击“link_to_add”生成的链接时,它会显示部分两次,而它应该只显示一次。你去一些代码:

形式:

模板:

其他人有同样的问题吗?

编辑:

愚蠢的错误,愚蠢的我。对不起,如果我让你们中的一些人浪费时间,问题是我加载了两次“nested_form.js”,所以它调用了附加部分相同次数的函数。

再次抱歉。