e.g。我有两个使用脚手架生成的模型,Template
和Article
Template has_many :articles
和Article belong_to :template
Template
将title:string body:text
作为字段。
Article
以title:string body:text template_id:integer
为字段。
问题是:当创建一个新的时,我如何使用Template
模型预填充Article
的字段?
答案 0 :(得分:1)
您可以将逻辑置于before_create
回调
class Article < ActiveRecord::Base
belongs_to :template
before_create :assign_attributes_from_template
def assign_attributes_from_template
title = template.title
# etc
end
end
然而,这将在验证后运行,因此如果您需要验证这些字段,则应该将其放在before_validation, on: :create
回调中。
希望这有帮助!
编辑: Link to callbacks指南