您好我有这些课程:
class Core < ActiveRecord::Base
belongs_to :resource, :polymorphic => true
belongs_to :image, :class_name => 'Multimedia', :foreign_key => 'image_id'
end
class Place < ActiveRecord::Base
has_one :core, :as => :resource
end
如果我尝试启动此功能:
a = Place.find(5)
a.name ="a"
a.core.image_id = 24
a.save
名称已保存。 image_id没有 我想在a.save命令中自动保存与地点类关系的记录中的所有更改。有可能吗?
感谢
答案 0 :(得分:3)
:autosave => true
请参阅ActiveRecord::AutosaveAssociation标题为一对多示例的部分。
你会想要这样的东西:
class Place
has_one :core, :as => :resource, :autosave => true
end
应在“父”对象上使用:autosave => true
。它适用于has_one
和has_many
,但我在belongs_to
尝试使用它时遇到了很大困难。关系。
答案 1 :(得分:0)
我认为你可以使用build_association
方法来做到这一点。例如,
a = Place.find(5)
a.name = "a"
a.build_core(:image_id => 24)
a.save
但它可能只有在事先创建了地方对象时才有效。