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

ruby-on-rails - 带有嵌套资源的 Bates 的nested_form 没有正确命名新字段

我现在正在构建一个 stackoverflow 克隆,并尝试在创建问答时实现多个文件上传。

我正在使用带有 nested_form gem 的carrierwave。

问题创建上的文件上传工作正常,但我不能让它为答案工作。这是我的新答案表格:

当我尝试上传单个文件时它工作正常。嵌套 file_field 的名称如下所示:

但是当我点击“Moar files”并出现另一个文件字段时,它恰好被命名为

因此,在参数中,我得到了与问题相关的第二个文件,而不是答案。由于请求由 answers_controller 处理,第二个文件只是被忽略。

如何正确创建nested_form_for 名称新字段?

UPD

因此,我尝试明确声明附件的父对象,如下所示:

仍然没有运气

0 投票
0 回答
192 浏览

ruby-on-rails - Ruby on Rails 嵌套表单 - 未经许可的参数:users_attributes

尝试使用 nested_form gem 将用户添加到乐队时,我无法从参数访问用户。经过一番调查,我注意到我在控制台中收到了未经许可的参数错误。我需要访问 users_attributes 以便我可以通过控制器中的显示名称在我的数据库中搜索用户。(所以nested_form是添加已经在数据库中的用户,如果有更好的方法请告诉我)

这是来自 rails 控制台的错误:

在 2015-04-29 01:59:03 -0400 为 127.0.0.1 开始 PATCH "/band_steps/videos" 由 BandStepsController#update 作为 HTML 参数处理:{"utf8"=>"✓", "authenticity_token"=>" oA16RrnTw9Tn/7n45jSjrg+Q6vO8q+TxrYRHLOKSJYs=", "band"=>{"users_attributes"=>{"0"=>{"display_name"=>"Tyler", "_destroy"=>"false", "id"= >"330"}}}, "commit"=>"Next", "id"=>"videos"} 频带负载 (0.2ms) SELECT "bands".* FROM "bands" WHERE "bands"."id" = $1 LIMIT 1 [["id", 57]] 不允许的参数:users_attributes (0.1ms) BEGIN Band Exists (0.5ms) SELECT 1 AS one FROM "bands"WHERE (LOWER("bands"."name") = LOWER('asdfsbad') AND "bands"."id" != 57) LIMIT 1 (0.2ms) COMMIT 重定向到http://localhost:3000/band_steps/ music Completed 302 Found in 8ms (ActiveRecord: 1.0ms)

表单部分代码(_form.html.erb):

member.html.erb 中的代码(调用部分的页面)

_user_fields.html.erb 中的代码(呈现用户字段的部分)

相关频段控制器代码:(我只贴直接涉及的方法以节省阅读时间,我可以根据需要发布所有代码)

创建方法:

强大的参数:

def band_params

乐队型号:

用户模型:

总结一下代码应该如何工作: Band 表单有用于输入用户显示名称的字段,我在 Band 控制器中访问显示名称。

我花了很多时间查看我的代码,看看我在哪里犯了错误。任何帮助表示赞赏。

0 投票
2 回答
306 浏览

ruby-on-rails - 如何使用 rails nested_form 添加不同的字段类型

我想使用 ryanb/nested_form gem(或类似的)来创建与许多不同字段类型的关联。考虑一个名为 content 的模型,它可能有许多 content_blocks,它们应该有文本输入、文本区域或图像上传字段(不同的字段类型),具体取决于所需的内容。有人对如何实现这一目标有想法吗?到目前为止,我只能弄清楚如何添加相同类型的多个字段。即标准项目-> 任务-> 子任务...模式。

还是有更好的解决方案?

谢谢!-J

0 投票
1 回答
164 浏览

ruby-on-rails - Rails - HABTM 查找或创建嵌套表单

我找到了这个

我现在的问题是如何创建表单,我正在尝试:

问题是在服务器中我得到:

Rails如何id在 join hash 上''查找记录?

所以我得到:

我应该添加一id列来连接表吗?

0 投票
1 回答
72 浏览

jquery - 嵌套表单 gem 和 jquery 的 Rails 问题

我有一个嵌套表格,并使用 ryan bates 的nested_form gem,我在该领域中使用了老鼠星,表格给出为

并且javascript给出为

问题是当我单击添加问题时,以前的星级评分为空,我知道为什么会这样,因为我再次将评分功能传递给所有星级问题请告诉我如何添加保留先前星级评分的问题

0 投票
1 回答
974 浏览

ruby-on-rails - 使用参数从另一个控制器渲染视图

我的products_controller.rb中有代码

保存方法失败后,我需要重定向到brands show.html.erb视图,该视图通过id 查找品牌并显示有关它的信息。

问题:

  1. 这是正确的做法吗
  2. 如果用户手动传递 server_id 参数,如何防止它执行(SQL 注入)?或者我应该如何检查和显示错误?
  3. 我如何brands/show在表单外的视图中显示错误(因为我将表单存储在<a data-form="...">属性中,所以用户在点击链接之前看不到表单。甚至更多,我使用form_for([@brand,@brand.send(:products).klass.new])
0 投票
2 回答
621 浏览

ruby-on-rails - Rails fields_for f.select 参数未在新建/创建时提交

我遇到的问题是我的选择字段选项没有传递要保存的属性参数;但是,如果选择更改为 text_field,则该字段会保存。所以这个问题似乎在我看来。r.fields_for 的其他部分也都在保存。

看法

在嵌套模型的编辑操作中,此选择工作正常,唯一的区别是表单。

我还尝试以更详细的方式进行设置:

它根本没有通过它们,甚至没有空白。有什么想法可能导致这种情况吗?

更新:

HTML 输出

0 投票
1 回答
297 浏览

ruby-on-rails - Ruby on Rails 4 无法使用嵌套路由获取 form_for

我正在尝试使用嵌套路由执行 form_for,但无法正常工作。

这是routes.rb

查看/任务/编辑

耙路线

Rails 给出一个错误:未定义的方法 `model_name' for :task:Symbol

任务控制器.rb

有什么帮助吗?

0 投票
1 回答
80 浏览

ruby-on-rails - 嵌套表单未正确更新文件字段

我有一个嵌套表单,其中包含用户、个人资料和专业详细信息模型的字段。用户有一个个人资料。配置文件有许多专业详细信息(包含作为文件字段的文档和一个描述文本字段)。

我在这里面临的问题是在更新我的个人资料页面时,该页面是这 3 个模型的嵌套形式。当我添加新的专业详细信息并提交表单时,旧的专业详细信息将为零,并创建专业详细信息的新对象。参数是这样来的

这是旧的专业细节对象。更新用户后,文档部分变为零。为什么在这种情况下之前存储的 Document 会为零?

0 投票
3 回答
434 浏览

ruby-on-rails - Rails 连接表嵌套 form_for

我正在学习 Rails 构建一个订购系统,但我一直在尝试为 Orders 构建一个表单。其中 Orders 是 Restaurant 的嵌套资源。路线:

我的模型如下所示:

我的控制器:

而我的观点:

我目前的问题是显示每个食谱的名称。似乎 :recipe_id 一直作为 null 传递。我的最终目标是能够构建 order_recipes 填充数量列,并且我认为拥有 order_recipes 中的 recipe_id 我还可以从数据库访问正确的配方对象以显示名称或任何其他相关数据。