Ruby on rails 3 如何将现有对象分配给与哈希有很多关系的对象

Ruby on rails 3 如何将现有对象分配给与哈希有很多关系的对象,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,我在模特之间有这样的关系 class Post < ActiveRecord::Base has_many :documents, :as=>:documentable accept_nested_attributes_for :documents end class Document < ActiveRecord::Base belongs_to :documentable, :polymorphic=>true end class Post:可记

我在模特之间有这样的关系

class Post < ActiveRecord::Base
   has_many :documents, :as=>:documentable
   accept_nested_attributes_for :documents
end

class Document < ActiveRecord::Base
   belongs_to :documentable, :polymorphic=>true
end
class Post:可记录
接受文档的\u嵌套\u属性\u
结束
类文档true
结束
我已经生成了一组文档,它们具有
documentable\u type
documentable\u id
NULL
,假设它们的id是1和2

现在我想用现有文档创建一个新帖子,我生成了如下的散列

h={:post=>{:title=>'post title',:documents_attributes=>{“0”=>{:id=>1},“2”=>{:id=>2}}}

然后创建类似于
@post=post.new(h[:post])

但是在ward之后,它会使用
documentable\u type='Post'
documentable\u id=NULL查找它找不到的
文档


对于这种情况,生成哈希的正确方法是什么?

我最终通过这个哈希解决了这个问题:

h = {:post=>{:title=>'Post Title', :document_ids=>{1,2}}}