由于以下行,我的rails迁移失败:
username = User.find(user_id)
if (!username.nil?)
...
我有一个100的user_id,在用户中没有匹配的用户,因此用户名返回为nil(我认为),但随后我的整个迁移崩溃
我认为if(!username.nil?)会克服这个...有没有另一种方法可以在find()没有结果时崩溃?
答案 0 :(得分:0)
如果find
找不到您指定的ID的记录,则会引发ActiveRecord::NotFoundError
例外。
如果你想在没有这样的记录时返回nil
,你可以这样做:
username = User.where(id: user_id).first
(并注意它是User
实例,而不是用户的名称)