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

ruby-on-rails - Rails 3.2 nested_form gem:如何在 fields_for partial 创建 link_to edit_model_path()

我有一个嵌套表单,它使用部分方法来呈现嵌套模式的字段

在我的部分中,我想要一个链接带您编辑嵌套模型实例,例如

但是@element在部分中不可用。如何引用正确的元素?

编辑...

使用布拉德利评论的解决方案

0 投票
1 回答
1352 浏览

ruby-on-rails - 未定义的方法“simple_nested_form_for”

尝试使用 nested_form Rails 插件时出现此错误,怎么了?

我已经将我的 Gem 文件设置为gem "nested_form", :git => 'git://github.com/ryanb/nested_form.git'

我已经安装了插件(我使用的是 Rails 3.1)并且我已经重新启动了我的服务器。

编辑:我还将 nested_form.js 移动到 /assets/javascript/ 文件夹,因为如果我在源代码中单击它,将其加载到公用文件夹中会给我一个路由错误。

0 投票
2 回答
310 浏览

ruby-on-rails-3 - rails嵌套资源和初始化资源的路由

在使用嵌套表单/资源和路由时,rails 的正常运行方式存在问题。

我有两张表,单词和定义......

词有很多定义,但我不会创建一个词,直到它至少有一个定义。

模型和控制器端的一切都有效,但我不知道如何处理表单助手。

这非常有效,但前提是 @word 确实存在并且不是新的 UNSAVED 记录。控制器中的 IE 我正在find_or_initialize_by调用 Word,然后建立一个定义。

这个词,但前提是这个词不存在。IE 如果我尝试使用这种结构进行编辑,我会得到一个奇怪的 url(这不起作用)。 words/12345/definition/12345

我尝试使用url_for帮助程序,但结果与上述类似......

还有其他想法吗?

0 投票
1 回答
525 浏览

ruby-on-rails-3 - 找不到没有 ID,有嵌套属性

我有一个超级简单的表单,我试图用它来一次更新多条记录。我在 Rails 3 上。我经历了所有的 railscasts 等,此时我正在拔头发。我正在使用设计,并且有一个联系人控制器。用户有_many :contacts 和accepts_nested_attributes_for :contacts。表格如下所示:

表单显示正确,但在提交时我得到“找不到没有 ID 的联系人”。控制器看起来像:

参数似乎正确,并且 id 似乎存在且正确,但我无法保存工作!我确定我在这里遗漏了一些明显的东西。

0 投票
2 回答
2044 浏览

ruby-on-rails - form_for 标记和嵌套表单 - 使用来自控制器的自定义方法

我是 Rails 的新手,正在申请大学成员(教师和学生)可以在其中创建帖子并对其发表评论。稍后我希望在其中添加嵌套(祖先)和积分系统。

我有帖子、评论和会员模型。Post 模型是通过 Scaffolding 制作的,Member 模型是在 Devise 的帮助下制作的,Comment 只是一个模型。

在我的帖子显示页面中,我想在帖子下方发表评论,我已经取得了一些进展(多亏了我才知道很多)但现在我遇到了一个问题,每当我尝试发布一条空白评论,rails 正在重定向到编辑页面。如何更改此设置以使 rails 仅停留在显示页面上并显示错误?

为此,我进行了一些搜索,在 post_controller.rb 中创建了一个新方法“update_comments”,并尝试修改 forms_for 标记属性,如下面的代码所示,但现在提交时出现路由错误。

应用程序/模型/member.rb

应用程序/模型/post.rb

应用程序/模型/comment.rb

配置/路由.rb

应用程序/控制器/posts_controller.rb

app/views/posts/show.html.erb

我的展示页面图片:http: //i.stack.imgur.com/TBgKy.png

发表评论:http: //i.stack.imgur.com/JlWeR.png

更新:

回过头来,按照肯所说的在这里进行了更改。我不知道如何,但它现在有效。

应用程序/控制器/posts_controller.rb

0 投票
2 回答
425 浏览

ruby-on-rails-3 - has_many :through 关联和它的连接模型属性如何交互?

我很难解决在我的连接模型中设置属性的问题?

我的模型:

我的 app/controllers/contracts_controller.rb 的新动作

我在 app/views/contracts/_fields.html.haml 中的部分视图

通过阅读 Rails 指南、观看 railscasts #196 和 #197 以及研究互联网上的嵌套属性,我了解到我的 app/controllers/contracts_controller.rb 的新操作中的@contract.codes.build行不仅构建了code 对象,但它还构建了 codelines 对象。如果我像上面一样离开我的 app/controllers/contracts_controller.rb 的新操作,这正是发生的事情。我的代码行表填充如下:

但是,如果您查看我的观点,我实际上想设置units_alloc,而@contract.codes.build这一行不允许我访问units_alloc,因为它位于代码线模型中。我将@contract.codelines.build添加到我的app/controllers/contracts_controller.rb 的新操作中,现在units_alloc 显示在我的视图中并且我可以设置它。但现在我的代码行表中有两行。一个来自@contract.codes.build,其中代码对象和代码行对象都被构建,第二行是@contract.codelines.build的结果,我的代码行表如下:

我不应该能够通过@contract.codes.build 给出的第一个构建访问units_alloc,代码对象和代码行对象都是在其中构建的?

有谁知道我对这个问题的理解是否正确,或者你能指出我的资源将被揭示吗?

正如事后的想法,我通过代码行构建了代码对象,得到了相同的结果。

感谢您的任何建议。

更新 我可以让我的代码行表只有一条记录,其中所有关联的 id 设置如下:

我的控制台:

使用 pgadmin3 我检查了我的代码行表,我只得到了一条记录,即:

现在测试是让我的contracts_controller new/create 操作来做同样的事情。

0 投票
1 回答
192 浏览

ruby-on-rails - 在表单中使用 date_select 并希望拒绝日期为空

我有一个周期模型,包含 start_date 和 end_date。它属于一个主题模型。

在我的主题表单中,我也想管理期间。因此,首先我只为该期间的两个日期使用了两个文本字段。我也有一个reject_if end_date 为零。

有用。几个月后,我将表单更改为使用 date_select,它显示了一些用于输入日期的选择语句。

当我这样做时,我发现每个选择都会是这样的:

注意1i,这意味着我的reject_if 不再起作用,因为任何东西都会被拒绝。我需要更改为:

这会起作用,但不如以前好(只检查日期的年份似乎容易出错)。

使用 date_select 时是否有正确的拒绝方法?

0 投票
1 回答
86 浏览

ruby-on-rails - 我的嵌套资源之一没有被创建

首先,如果你花时间看这个,让我谢谢你。谢谢 :)。

所以,我终于想出了如何在顶级资源的_form.html.erb中正确嵌套资源。我的最终项目将有以下从上到下的嵌套资源:IDFs => Switches => Jacks。目前,我通过创建一个新的插孔来完成所有工作......这给了我以下错误:

我所有的模型都是脚手架的,除了要关联的模型、修复路由的控制器和 _form.html.erb 文件之外,我还没有接触过它们的许多文件。我会发布我认为相关的代码,但如果你看到它还有什么可以帮助你的,请告诉我。

应用程序/控制器/jacks_controller.rb:

应用程序/视图/开关/_form.html.erb:

app/views/jacks/_form.html.erb:

我已经尝试从 Stack Overflow 上的几个类似问题中实现一些代码,但似乎没有任何效果。任何帮助将非常感激。另外,如果您想查看任何其他代码,请告诉我。

再次感谢!

0 投票
0 回答
326 浏览

ruby-on-rails - 在nested_form_for 中,带有单选按钮的link_to_add 未发送有关所选项目的足够信息

我正在使用 Ryan Bates 的nested_form 代码,并且在带有单选按钮字段的嵌套表单中遇到问题(该字段是集合中的一个布尔值,其中只有一个成员应该为真)。

我在 nested_form_for 中呈现单选按钮的代码是:

(如果我使用通常的 form_for 语法并在 nested_form_for 对象上调用 radio_button ,则单选按钮的行为不像单选按钮,因为选中不会取消选中其他按钮)

现在通常当用户单击其中一个单选按钮来更改所选项目时,新项目的 id 会在参数中发送,所以很好(在控制器的更新方法中进行了一些有点难看的解析之后)。但是...在运行时使用 link_to_add 添加的新项目上,没有要发送的 id,所以发送的只是:

那么当集合中只有一个元素应该打开值时,有人可以向我解释以嵌套形式实现单选按钮的正确方法吗?

0 投票
0 回答
197 浏览

ruby-on-rails - form_for 使用多态关系

我有一个可以有很多事务的用户模型。事务可以是 type1、type2 或 type3 中的一种,每种类型都有不同的属性集。例如:type1 包含属性 a、b 和 c;而 type2 包含属性 a、c、d 和 e。User、Transaction 和 Type 模型定义如下:

现在,在生成 html 表单时,我有

在后面的form_for helper中,我想收集type1模型属性的用户输入数据。任何人都可以帮助在后面的 form_for 助手中应该输入什么内容吗?我试过@user.transactions.build_type1,但它显示错误。知道可能出了什么问题吗?