Sql 轨道&x2B;压制查询问题
完全被困在这个问题上,需要一些帮助 我让用户输入某些首选项,然后根据这些首选项向每个用户显示一组结果 用户与这些首选项之间存在HABTM关系: User.rbSql 轨道&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
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|
查询