【发布时间】:2017-05-29 22:44:00
【问题描述】:
我需要根据供应商收到的邀请来授权项目。供应商有一个“user_id”字段。
项目.rb
has_many :invites
has_many :suppliers, :through => :invites
project_policy.rb
class ProjectPolicy < ApplicationPolicy
attr_reader :user, :project
def initialize(user, project)
@user = user
@project = project
end
def show?
##need help on the next line##
if project.joins(:invites).joins(:suppliers).pluck("suppliers.user_id") == user.id
return true
else
return false
end
end
end
如何根据供应商表中的user_id 仅显示适当的项目?如果这需要在范围内,那么如何检查范围内的suppliers.user_id?
【问题讨论】:
-
对不起。我不明白你的问题。像代码一样工作吗?如果现在。问题是什么。你能告诉我们查询的结果吗
-
是的,我已经建立了模型关系,但试图弄清楚将什么放入
show?权威政策,以便它只允许访问有邀请的项目
标签: ruby-on-rails pundit