为什么ActiveRecord具有这种特质?

| 以下查询引发异常:
User.find(4)
而以下查询返回nil:
User.find(:first, :conditions => \"id = 4\")
当找不到记录时,数据库包装程序通常返回\'nil \'或\'null \'等,还是引发异常?添加\'first \'关键字是否有特殊之处?这是预期的行为还是Rails的魔咒?     
已邀请:
像这样思考: 在第一个示例中,您要告诉Active Record在用户表中找到ID为4的记录,该记录必须存在。 在第二个示例中,您将走很长一段路,告诉它“请搜索id属性等于4的记录,如果有,则返回第一个”。这就是为什么它不会返回任何内容的原因。 较短的方法是使用
find_by_id
。     

要回复问题请先登录注册