Select 未找到记录时的可选命令

Select optional command if Record not found

在 rails 中,我正在努力实现类似的目标:

@user = User.find(params[:id]) || current_user

即:如果 User.find(params[:id]) 找不到现有记录,我希望 @user 存储 current_user

我认为这可能是一件简单的事情。但我刚开始在 rails 上使用 ruby。 提前致谢。

ptd 是正确的 - 抛出异常是 Rails 的意图,因为它等效于 SQL where 带有传递 id 的子句 - 因此 Rails 期望记录这样 id 存在。但是我认为你可以使用这样的代码,而不是 rescue-ing(我相信它更像 pythonic 方式):

@user = User.find_by_id(params[:id]) || current_user