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
实例,而不是用户名)