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}}}