我该怎么做这个伪代码?我想防止例如“nil 类的未定义方法 zip_code”,因为我的现有用户已经有了我们的个人资料。因此,当调用 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