我有一个模型,如:保存和更新子关联对象
class Content < ActiveRecord::Base
has_many :revisions
end
class Revision < ActiveRecord::Base
belongs_to :Content
end
在我的控制器中我做:
def create
@content = Content.new(content_params)
if @content.save
# ...
end
end
内容有:
- id
- category_id
- title
- body
- ..
版本有:
- id
- category_id
- content_id
- body
因此,无论何时我保存/更新/删除一个内容,修改都会发生同样的事情。
我应该使用相同的方法创建before_save来处理两种情况吗? 如何轻松地将category_id,content_id和body传递给修订版?
更新
在更新过程中,如果我更新特定REVISION_ID,我必须有REVISION_ID但不知道怎么打发,当我更新的内容实例。那有意义吗?
**从来没有**与'CamelCase'的名称关联,它们是'snake_case':'belongs_to:content' –
而不是依靠应用程序代码来创建修订版,它可能会更好地使用数据库触发器。根据我的经验,触发器更可靠。 –