gpt4 book ai didi

ruby-on-rails - 有没有更清洁的方法来实现这一目标?

转载 作者:行者123 更新时间:2023-12-01 15:22:11 26 4
gpt4 key购买 nike

我试图根据传递的不同信息仅显示表中的某些记录,如果不满足任何要求,它将重定向到主页。代码一切正常,只是想看看其他人会如何解决这个问题

if current_user.admin?
@schedules = Schedule.all
elsif current_user.team_id?
@schedules = Schedule.find_all_by_team_id(current_user[:team_id])
else
redirect_to root_path, :status => 301, :alert => "Please contact your club administrator to be assigned to a team."
return
end

最佳答案

您应该始终将复杂的逻辑从您的 Controller 中移开。

class Schedule
def self.for(user)
case user.role #you should define the role method in User
when User::ADMIN
scoped
when User::TEAM
where(team_id: user[:team_id])
end
end
end

在你的 Controller 中:

@schedules = Schedule.for(current_user)

redirect_to root_path, :status => 301, :alert => "Please contact your club administrator to be assigned to a team." unless @schedules

关于ruby-on-rails - 有没有更清洁的方法来实现这一目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11560503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com