【发布时间】:2019-11-11 21:57:28
【问题描述】:
我有三个模型。
用户
has_many :projects
项目
has_many :users
网站
belongs_to :project
has_many :users
我还使用 Active Admin 和 Pundit 来管理我的项目和权限。如果网站的项目也是用户的项目,我需要控制用户访问网站对象。
为此我准备了这样的代码;
scope.where("#{@record.project.id.in? Project.where(id: ProjectUser.where(user_id: @user.id).ids).ids}")
但它返回错误消息:
nil:NilClass 的未定义方法 `project'
我该如何解决这个问题?
【问题讨论】:
-
它说
@record是 nil,首先看看为什么它是 nil。很难说,因为您只显示一行代码而没有上下文。
标签: ruby-on-rails pundit ruby-on-rails-6