Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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 - Fatal编程技术网

Ruby on rails rails:返回两个不同的合并结果

Ruby on rails rails:返回两个不同的合并结果,ruby-on-rails,Ruby On Rails,在我的用户模型中,根据角色=4的“角色”执行搜索我需要返回两个组合结果,但它只返回最后一个结果(user.tempOccessee\u用户)。我如何加入这些结果。在if角色==4中 def self.search(搜索,角色) 如果角色==3 User.questionsetter\u users.where(['login LIKE?或name LIKE?或email LIKE?和role\u id=?',“%{search}%”,“%{search}%”,“%{search}%”,role]

在我的用户模型中,根据角色=4的“角色”执行搜索我需要返回两个组合结果,但它只返回最后一个结果(user.tempOccessee\u用户)。我如何加入这些结果。在if角色==4中

def self.search(搜索,角色)

如果角色==3
User.questionsetter\u users.where(['login LIKE?或name LIKE?或email LIKE?和role\u id=?',“%{search}%”,“%{search}%”,“%{search}%”,role])

结束

如果角色==4
用户。考生\用户。何处(['login LIKE?或name LIKE?或email LIKE ?和角色_id=?',“%#{search}%”,“%#{search}%”,“%#{search}%”,角色])
用户.temp考生_用户。哪里(['login LIKE]或姓名 如?或电子邮件如?'、“%#{search}%”、“%#{search}%”、“%#{search}%”、“%#{search}%”)

结束

结束


如果role==4,则组合结果必须在步骤中返回。

您的问题是什么?您想要两种类型的结果吗?一种是
role\u id=role
,另一种是不检查
role\u id
?为此,你可以只写一行而不是两行
User.testeer\u users.where(['login LIKE?或name LIKE?或email LIKE?或role\u id=?',“%\search}%”,“%\search}%”,“%\search}%”,“%\search}%”,role])
User.testeer\u用户。where(['login LIKE?或name LIKE?或email LIKE?和role\u id=?”,“%\search}%,role%,“%\search},search}%)它获取一些记录,其中role=4(想象10条记录)User.tempTesteer\u users.where(['login LIKE?或name LIKE?或email LIKE?'、“%#{search}%”、“%#{search}%”、“%#{search}%”),这还将获取一些记录(5条记录),因此总共15条记录必须返回((现在只有5条记录返回)),我要合并并发送。