如何验证Project.find(12).present?如果ID 12不存在则不会出错?

Num*_*ers 0 ruby sql ruby-on-rails ruby-on-rails-4

在控制器中,我想验证数据库中是否params存在查询中具有id的记录,但Project.find(params[:id]).present? 如果id不存在,则执行此类操作时会出错.

我该如何验证存在呢?

Log*_*man 5

您可以使用find_by(id: params[:id])(Rails 4)或find_by_id(params[:id])(Rails <4)返回nil而不是提升ActiveRecord :: RecordNotFound.

你也可以使用Project.exists?(params[:id]).