保存对象时,Mongoid会忽略params中的关系id

时间:2013-07-26 10:12:05

标签: ruby-on-rails mongoid

(是的,我试过autosave: true

我有三种模式:用户,帖子,评论。评论属于帖子和用户。

所以在评论#create中我有以下几行:

@comment = current_user.comments.build(params[:comment])

post_id以comment: {post_id: post_id}的形式传递给params。但是,mongoid在保存对象时完全忽略它。显然我可以通过添加@comment.post = post之类的东西来解决它。这是一个合适的解决方案还是我能做得更好更干净?

1 个答案:

答案 0 :(得分:0)

似乎与params一起传递的是JSON格式?然后它是哈希而不是对象格式。

可能,json不能直接转换。

试试这个

comment=Comment.new(:post_id => params[:comment][:post_id])
#try to replace symbol [:post_id] with string ["post_id"] if it did not work
current_user.comments.build(comment)