完全坚持这一点,可以使用一些帮助!
我让用户输入某些偏好,然后根据这些偏好向每个用户显示一组结果。
用户与这些偏好之间存在 HABTM 关系:
用户.rb
has_many :userpreferences
has_many :preferences, through: :userpreferences
首选项.rb
has_many :userpreferences
has_many :users, through: :userpreferences
用户偏好.rb
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 的标签是:["black", "leather", "suede"] 偏好 2 的标签是:["brown", "cloth"].......只有第一组正在作为查询传递。