rails 设置关联的默认值

rails set default value for association

在我的第一个 Rails (5) 应用程序中,我想在创建时为关联设置一个默认值。已阅读有关 SO 的文档和许多问题,但仍找不到答案。

我使用 after_initialize :set_default_values 并希望为 documenttype

设置默认值
def set_default_values
    unless persisted?
        self.documenttype || 1  if self.documenttype.nil?
        self.dateformat ||= 'dd.mm.yyyy' if self.dateformat.nil?
    end
end

我认为你在这里缺少一个 =:

self.documenttype || 1  if self.documenttype.nil?

应该是

self.documenttype ||= build_documenttype

或特定文档类型:

self.documenttype ||= Documenttype.find(1)

编辑: 在评论 OP 中提到 documenttype 是一个 has_one 协会。