请参阅下面的详细信息。
我正在尝试编写一行代码来搜索数据库并显示具有特定技能的用户。
我的线索是我应该使用类似@user.where('skill = ?', skillvariable)
或特定查询的内容。非常感谢任何指向正确方向的指导/指导。
详情:
我有一个用户模型,一个技能模型和一个user_skills模型。
在user.rb中,我有has_many :skills, through: :user_skills
的关系。
在skill.rb中,我有关系has_many :user_skills
和has_many :users, through: :user_skills
,
然后在user_skills.rb中我有belongs_to :user
和belongs_to :skill
。
user_skills架构是:
t.integer "user_id"
t.integer "skill_id"
技能架构是:
t.string "name"
t.string "slug"
答案 0 :(得分:1)
您可以这样做:
User.includes(:skills).where(skills: { name: 'Archery' })
这将是letterally:
检索至少拥有一项名为'射箭'
的技能的所有用户
类似问题: