Rails迁移无法找到结果并失败

时间:2015-10-13 14:54:28

标签: ruby-on-rails migration

由于以下行,我的rails迁移失败:

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

我有一个100的user_id,在用户中没有匹配的用户,因此用户名返回为nil(我认为),但随后我的整个迁移崩溃

我认为if(!username.nil?)会克服这个...有没有另一种方法可以在find()没有结果时崩溃?

1 个答案:

答案 0 :(得分:0)

如果find找不到您指定的ID的记录,则会引发ActiveRecord::NotFoundError例外。

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

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

(并注意它是User实例,而不是用户的名称)