0

我有一个处理酒店房间预订的 Rails 应用程序。我希望管理员查看所有预订和特定用户仅查看他们的预订。是这样做的“正确”方式:

  1. 在预留控制器中为每个用户创建一个新操作

    或者

  2. 在 index 操作中放置一个 if 语句,决定是返回所有保留还是只返回参数发送的用户 id 的保留

我已经设置并以第二种方式工作,但我不确定这是正确的做事方式。

4

1 回答 1

1

我会通过一个视图来做到这一点,该视图由适当的预订集合填充。对于管理员,这将是所有预订,但对于普通用户,该集合将只包含他们的预订。

然后,这需要控制器中的单个 if 语句来确定适当的保留:

if user.is_admin?
  @reservations = Reservation.all
else
  @reservations = user.reservations
end

上面的代码假设您已经在用户和他们的预订之间建立了适当的关系,但您明白了。

于 2013-01-05T22:50:14.850 回答