Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.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
Sql 轨道&x2B;压制查询问题_Sql_Ruby On Rails_Ruby_Squeel - Fatal编程技术网

Sql 轨道&x2B;压制查询问题

Sql 轨道&x2B;压制查询问题,sql,ruby-on-rails,ruby,squeel,Sql,Ruby On Rails,Ruby,Squeel,完全被困在这个问题上,需要一些帮助 我让用户输入某些首选项,然后根据这些首选项向每个用户显示一组结果 用户与这些首选项之间存在HABTM关系: User.rb has_many :userpreferences has_many :preferences, through: :userpreferences Preferences.rb has_many :userpreferences has_many :users, through: :userpreferences belongs_t

完全被困在这个问题上,需要一些帮助

我让用户输入某些首选项,然后根据这些首选项向每个用户显示一组结果

用户与这些首选项之间存在HABTM关系:

User.rb

has_many :userpreferences
has_many :preferences, through: :userpreferences
Preferences.rb

has_many :userpreferences
has_many :users, through: :userpreferences
belongs_to :user
belongs_to :preference
Userpreferences.rb

has_many :userpreferences
has_many :users, through: :userpreferences
belongs_to :user
belongs_to :preference
现在,首选项有一个名为“标记”的属性,它列出了某些细节:即大、小、厚等

我希望根据每个用户的首选项(即根据他们选择的首选项的标记)显示每个用户项目

现在我正在尝试:

current_user.preferences.all.each do |p|
        query = p.tags.split(' ')
            @items = Item.where{title.like_any query}
现在,出于某种原因,这只查询第一个首选项的标记

例如,如果首选项1的标签为:[“黑色”、“皮革”、“绒面革”]
首选项2的标签是:[“brown”,“cloth”]……只有第一组作为查询传递。

找到了答案-对于任何感兴趣的人来说,这与Squeel无关

我在查询之前是如何组织循环的

解决方案

query = []
      current_user.preferences.each do |p|

        query << p.tags.split(' ')
        end
            @items = Item.where{title.like_any query}
query=[]
当前_user.preferences.each do | p|
查询