mongoid 将嵌套属性拆分为两个哈希?
mongoid splits nested attributes in two hashes?
我有一个模型 List
,它具有另一个模型 Article
的嵌套属性。让我烦恼的是我有 Ruby 请求参数,我的第一个嵌套属性在 Article
散列中,所有其他(第二、第三篇文章数据等)在 article_parameters.[=16= 中]
我在这里遵循标准的 mongoid 教程。
我在列表控制器的创建方法中有@list.articles.build。
我可以影响构建方法中的内容吗?我尝试致电 build(all_the_correct_hashes)
,但似乎无法解决问题。
所以,简而言之,我有 2 个问题。
为什么articles
只获取第一个嵌套属性,第二个和下一个去article_parameters
散列?
为什么 list.articles.build 只在我的 Mongo 文档中创建 _id,而不用其他字段填充它?
我会写下我的解决方案,因为我看到有人赞成我的问题。
坦率地说,我没有找到任何关于为什么会发生这种行为的答案。
解决方案有点老套。
在您的保存控制器中,调用 List.article.build(id => params[:id], someotherstuff => params[:someotherstuff])
在这种情况下,您传递给构建的所有内容都将填充 article_parameters
哈希。
id
和 sometherstuff
是我的 Article
模型的字段。
我觉得这应该由 Mongoid 隐式完成,但它不起作用。他们的发展也看不出有什么不妥。
我有一个模型 List
,它具有另一个模型 Article
的嵌套属性。让我烦恼的是我有 Ruby 请求参数,我的第一个嵌套属性在 Article
散列中,所有其他(第二、第三篇文章数据等)在 article_parameters.[=16= 中]
我在这里遵循标准的 mongoid 教程。
我在列表控制器的创建方法中有@list.articles.build。
我可以影响构建方法中的内容吗?我尝试致电 build(all_the_correct_hashes)
,但似乎无法解决问题。
所以,简而言之,我有 2 个问题。
为什么
articles
只获取第一个嵌套属性,第二个和下一个去article_parameters
散列?为什么 list.articles.build 只在我的 Mongo 文档中创建 _id,而不用其他字段填充它?
我会写下我的解决方案,因为我看到有人赞成我的问题。
坦率地说,我没有找到任何关于为什么会发生这种行为的答案。 解决方案有点老套。
在您的保存控制器中,调用 List.article.build(id => params[:id], someotherstuff => params[:someotherstuff])
在这种情况下,您传递给构建的所有内容都将填充 article_parameters
哈希。
id
和 sometherstuff
是我的 Article
模型的字段。
我觉得这应该由 Mongoid 隐式完成,但它不起作用。他们的发展也看不出有什么不妥。