gpt4 book ai didi

ruby-on-rails - 如果访问时不存在关联记录,如何创建关联记录?

转载 作者:行者123 更新时间:2023-12-04 06:01:49 27 4
gpt4 key购买 nike

我将如何做这个伪代码?
我想防止例如“未定义的方法 zip_code 为 nil 类”,因为我有我们的配置文件的现有用户。因此,当调用 user.profile 时,如果它不存在,我想创建它。

class User < ActiveRecord::Base
...
# Associations:
has_one :profile


# example call current_user.profile.zip_code
def profile
if self.profile exists <-- use super?
self.profile
else
# create association record and return it
self.build_profile.save
self.profile
end
end
...
end

最佳答案

您可以使用 after_initialize打回来:

class User
# ..
after_initialize do
self.profile ||= self.build_profile
end
# ..
end

关于ruby-on-rails - 如果访问时不存在关联记录,如何创建关联记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10415757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com