Ruby on rails HABTM-rails关系中的权威范围
我当前的索引操作如下所示:Ruby on rails HABTM-rails关系中的权威范围,ruby-on-rails,ruby,ruby-on-rails-4,has-and-belongs-to-many,pundit,Ruby On Rails,Ruby,Ruby On Rails 4,Has And Belongs To Many,Pundit,我当前的索引操作如下所示: def index @proposals = current_user.proposals end def index @proposals = policy_scope(Proposal) end class Scope < Scope def resolve if user.admin? scope.all else user.proposals # HO
def index
@proposals = current_user.proposals
end
def index
@proposals = policy_scope(Proposal)
end
class Scope < Scope
def resolve
if user.admin?
scope.all
else
user.proposals # HOW DO I DO THIS WITH THE SCOPE?
end
end
end
def resolve
if user.admin?
scope.all
else
scope.joins(:users).where(proposals_users: { user_id: user.id })
end
end
但我想这样做:
def index
@proposals = current_user.proposals
end
def index
@proposals = policy_scope(Proposal)
end
class Scope < Scope
def resolve
if user.admin?
scope.all
else
user.proposals # HOW DO I DO THIS WITH THE SCOPE?
end
end
end
def resolve
if user.admin?
scope.all
else
scope.joins(:users).where(proposals_users: { user_id: user.id })
end
end
我在用户
和提案
之间有一个has\u和
关系
我开始在我的应用程序中使用Pundit
gem,但我不知道如何定义范围,以便让普通用户具有上面所示的行为
我想这样做:
def index
@proposals = current_user.proposals
end
def index
@proposals = policy_scope(Proposal)
end
class Scope < Scope
def resolve
if user.admin?
scope.all
else
user.proposals # HOW DO I DO THIS WITH THE SCOPE?
end
end
end
def resolve
if user.admin?
scope.all
else
scope.joins(:users).where(proposals_users: { user_id: user.id })
end
end
但是在HABTM的情况下,我不知道怎么做
有什么帮助吗?您可以使用
加入获取与用户相关的建议。大概是这样的:
def index
@proposals = current_user.proposals
end
def index
@proposals = policy_scope(Proposal)
end
class Scope < Scope
def resolve
if user.admin?
scope.all
else
user.proposals # HOW DO I DO THIS WITH THE SCOPE?
end
end
end
def resolve
if user.admin?
scope.all
else
scope.joins(:users).where(proposals_users: { user_id: user.id })
end
end
这正是我想要的。