自动构建 has_one 个子模型时设置属性
Set attributes when automatically building has_one child model
我正在尝试在创建父模型时自动构建子模型,如 this post 中所述。假设我有两个模型 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_name]'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
的文档。
我正在尝试在创建父模型时自动构建子模型,如 this post 中所述。假设我有两个模型 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_name]'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
的文档。