Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:检查模型上是否存在关联_Ruby On Rails_Ruby_Model_Associations_Activesupport Concern - Fatal编程技术网

Ruby on rails Rails:检查模型上是否存在关联

Ruby on rails Rails:检查模型上是否存在关联,ruby-on-rails,ruby,model,associations,activesupport-concern,Ruby On Rails,Ruby,Model,Associations,Activesupport Concern,在一个问题中,我运行以下代码: self.user&.favorite(self, scope: [:watching]) if self.respond_to? user self.team&.user.favorite(self, scope: [:watching]) if self.respond_to? team 我在用户和团队中考虑了这个问题。 每次创建用户,我都会遇到以下错误: NameError:未定义的局部变量或方法“user”# 创建一个团队也是如此 为什么

在一个问题中,我运行以下代码:

self.user&.favorite(self, scope: [:watching]) if self.respond_to? user
self.team&.user.favorite(self, scope: [:watching]) if self.respond_to? team
我在
用户
团队
中考虑了这个问题。 每次创建
用户
,我都会遇到以下错误:

NameError:未定义的局部变量或方法“user”#

创建一个
团队
也是如此

为什么会发生这种情况?显然,
User
没有响应实例上用户的方法(或等效方法)。但这就是为什么我添加了
if self.response\u to?用户将
添加到语句中。

您的问题是接收符号作为参数

self.user&.favorite(self, scope: [:watching]) if self.respond_to? :user
self.team&.user.favorite(self, scope: [:watching]) if self.respond_to? :team
这就是为什么如果未定义
用户
团队
方法,您将收到错误