mongoid在两个哈希中分割嵌套属性?

时间:2015-10-29 14:39:11

标签: ruby-on-rails ruby mongodb mongoid

我有一个模型List,其中包含来自另一个Article的嵌套属性。让我烦恼的是我有Ruby请求参数,我的第一个嵌套属性在Article哈希,以及所有其他(第二,第三篇文章数据等)在article_parameters中。

我在这里遵循标准的mongoid教程。

我在List控制器的create方法中有@ list.articles.build。 我可以影响构建方法吗?我试图打电话给build(all_the_correct_hashes),但似乎无法解决问题。

所以,简而言之,我有2个问题。

  1. 为什么articles只获取第一个嵌套属性,第二个和下一个转到article_parameters哈希?

  2. 为什么list.articles.build只在我的Mongo文档中创建_id,但是没有用其他字段填充它?

1 个答案:

答案 0 :(得分:0)

我会写出我的解决方案,因为我看到有人在讨论我的问题。

坦率地说,我没有找到任何答案,说明为什么会出现这种情况。 解决方案有点hackish。

在保存控制器中,拨打List.article.build(id => params[:id], someotherstuff => params[:someotherstuff])

在这种情况下,您传递给构建的所有内容都将填充article_parameters哈希。

idsometherstuff是我的Article模型的字段。

我觉得这应该由Mongoid隐含地完成,但它不起作用。他们的发展也没有看出任何问题。