(是的,我试过autosave: true
)
我有三种模式:用户,帖子,评论。评论属于帖子和用户。
所以在评论#create中我有以下几行:
@comment = current_user.comments.build(params[:comment])
post_id以comment: {post_id: post_id}
的形式传递给params。但是,mongoid在保存对象时完全忽略它。显然我可以通过添加@comment.post = post
之类的东西来解决它。这是一个合适的解决方案还是我能做得更好更干净?
答案 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)