Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Hash_Conditional Statements - Fatal编程技术网

Ruby on rails Rails非散列条件丢失表引用

Ruby on rails Rails非散列条件丢失表引用,ruby-on-rails,hash,conditional-statements,Ruby On Rails,Hash,Conditional Statements,在Rails查询中使用数组或字符串条件时,例如: 位置模型中的范围: scope :name_like, ->(keyword) {where("name ilike ?", keyword)} 当将它与同样具有列名称的联接表一起使用时,它将出现问题。就像: Location.joins(:users).name_like('main') 它将在名称处报告不明确的列名冲突 我应该如何解决这个问题,谢谢 您需要像这样使用 scope :by_name, -> { joins(:us

在Rails查询中使用数组或字符串条件时,例如:

位置模型中的范围:

scope :name_like, ->(keyword) {where("name ilike ?", keyword)}
当将它与同样具有列
名称的联接表一起使用时,它将出现问题。就像:

Location.joins(:users).name_like('main')
它将在
名称
处报告不明确的列名冲突


我应该如何解决这个问题,谢谢

您需要像这样使用

scope :by_name, -> { joins(:users).where("users.name like '%?%'",'FirstName' ) }
请参阅下面的链接


更改您的
名称(如
范围)以使用
位置的显式
名称
。我建议更改如下:

scope :name_like, -> (keyword) { where("locations.name ilike ?", keyword) }