出于担忧,我运行以下代码:
self.user&.favorite(self, scope: [:watching]) if self.respond_to? user
self.team&.user.favorite(self, scope: [:watching]) if self.respond_to? team
我将这个问题包含在User
&中Team
。每次我创建一个User
,我都会收到以下错误:
NameError: #<User:0xb0e9020> 的未定义局部变量或方法“用户”
创建一个Team
.
为什么会这样?显然User
没有在实例上响应用户的方法(或等效方法)。但这就是我添加if self.respond_to? user
到声明中的原因。