自动构建具有一个子模型时设置属性(_O)



正如本文所述,我正试图在创建父模型时自动构建子模型。假设我有两个模型Person has_one :folder,我想在人员创建时创建一个文件夹。为此,我进入Person模型并(从上面的示例中)执行以下操作。

has_one :folder
before_create :build_default_folder
private
def build_default_folder
  build_folder
  true
end

这是有道理的,但假设Profile有一些属性,我想根据Person的属性为Folder设置一个属性。比如,如果此人有:person_name,我应该如何将:folder_name设置为"[person_]'s_Folder"?

谢谢你的建议。

您可以从子模型访问父属性:

class Profile < AR::Base
    has_one :folder
    before_create :build_default_folder
    private
    def build_default_folder
      build_folder(folder_name: person_name)
      true
    end
end

阅读Active Record Associations的文档。

最新更新