我有一个项目,我用cache_item拆分表格。 CachItem包含一些序列化片段。像这样:
class Item < ActiveRecord::Base
has_one :cache_item
end
class CacheItem < ActiveRecord::Base
belongs_to :item
end
我如何告诉它创建一个并自动保存?
我这样做:
if !cache_item
CacheItem.create! item_id: id
self.reload # seems like I shouldn't have to do this
end
但好像应该有一个电话。有吗?
对于has_many,我可以这样做:
>item.comments.count
>1
>item.comments.create! # inserts with proper information
>2
has_one的模式是什么?
答案 0 :(得分:1)
对于您使用has_many Comment的项目:
Item.comments.create()
对于使用has_one Comment的项目:
Item.create_comment
答案 1 :(得分:1)
对于has_one
关联,您可以使用create_association!
作为记录:http://guides.rubyonrails.org/association_basics.html#has-one-association-reference
在你的情况下
item.create_cached_item!