我想执行一个SQL查询并将结果应用到我的能力类:
res_sql = "SELECT * FROM people
where trainer_id != null and people.user_id = user.id
and user.role = 'Trainerone'"
sql应该从Typ Sportler返回对象,我可以将它应用于cancan:
can :manage, **:sportler**
答案 0 :(得分:1)
我不确定我理解你的问题,但也许这可以帮助你一点点:
People.joins(:trainer).
includes(:user).
where(user_id: user.id, user: { role: 'Trainerone' })
此代码含有以下内容:
has_many
人belongs_to
培训师belongs_to
用户role
是User表的一列
(joins
和includes
中的不同关系(以及where子句中的等式)可能需要复数,具体取决于您的对象关系)