Ruby on rails attr#u访问器不适用于非';我救不了你

Ruby on rails attr#u访问器不适用于非';我救不了你,ruby-on-rails,ruby-on-rails-5,Ruby On Rails,Ruby On Rails 5,我无法找到attr_accessor为何在这里工作的解释: fb_profile = FbProfile.where(identifier: params[:identifier]).first_or_initialize fb_profile.signed_request = "randomstring" logger.info(fb_profile.signed_request) # outputs "randomstring" 但这里没有: current_admin.fb_profil

我无法找到attr_accessor为何在这里工作的解释:

fb_profile = FbProfile.where(identifier: params[:identifier]).first_or_initialize
fb_profile.signed_request = "randomstring"
logger.info(fb_profile.signed_request) # outputs "randomstring"
但这里没有:

current_admin.fb_profile = FbProfile.where(identifier: params[:identifier]).first_or_initialize
current_admin.fb_profile.signed_request = "randomstring"
logger.info(current_admin.fb_profile.signed_request) # outputs undefined
我可以像第一个例子中那样工作,但随后我必须创建关联,这似乎比一开始就创建关联更脏。这是常见的行为吗

更新1: 根据一些人的要求,以下是两款车型的相关部分:


类Admin


类FbProfile<应用程序记录
属于:管理员
_和_属于_很多:fb_页面吗
属性存取器:已签名的\u请求
结束

您缺少当前\u管理员和fbprofile之间的关系

如果你有一段感情,我会这样写:

current_admin.fb_profile ||= current_admin.build_fb_profile(identifier: params[:identifier])

我们需要了解
current_admin
fb_profile
的类与显示的确切错误之间的关系。您需要在FbProfile类中显示代码,可能还需要显示admin类或当前_admin所属的任何类