以下是我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
但我认为可能还有更好的方法。
答案 0 :(得分:7)
我更喜欢这种方式
def show
@user = User.find(params[:id] || current_user.id)
end
答案 1 :(得分:0)
您可以使用CanCan gem
我遵循本教程:Tony Amoyal website