Rails的迁移无法找到一个结果和失败

问题描述:

我的Rails迁移是因为以下行的失败:Rails的迁移无法找到一个结果和失败

username = User.find(user_id) 
if (!username.nil?) 
    ... 

我有100 USER_ID其在用户没有匹配的用户,这样的用户名返回的零(我认为),但然后我的整个迁移崩溃

我认为if(!username.nil?)会克服这个...有没有另一种方式不会导致find()结果崩溃?

如果find无法找到您指定的ID的记录,则会引发ActiveRecord::NotFoundError异常。

如果你想返回nil时,有没有这样的记录,你可以这样做:

username = User.where(id: user_id).first 

(请注意,这是一个User实例,而不是用户名)