1

以下是我UsersController操作的代码。我有一个current_user来自会话的对象,如果没有传递到操作中,我想使用当前用户的 ID。

def show
  id = params[:id]
  id = current_user.id if id.blank?
  @user = User.find(id)
end

我这样做是为了最终让管理员可以编辑其他用户的信息。这就是为什么我只是不使用@user = User.find(current_user.id).

想法/建议?我可能也可以做一个三元运算符,比如

params[:id].present? ? id = params[:id] : id = current_user.id

但我认为可能有更好的方法。

4

2 回答 2

7

我更喜欢这种方式

def show
  @user = User.find(params[:id] || current_user.id)
end
于 2012-11-14T16:31:22.127 回答
0

您可以使用CanCan 宝石

我遵循本教程:Tony Amoyal 网站

于 2012-11-14T16:36:28.663 回答