保华的Rails学习笔记

find_by与find

find后边一般是跟着参数id,这个id一般是table的主键(primary key),例如find(1),当查找到的时候,会返回这条数据,如果没有查到,会报错

find_by的用法会比较灵活一些,例如find_by_id、find_by_name,name与id,都是table里边的栏目名称,它可以根据后边的栏目名称去table里边查找,如果查到了,会返回查到的第一笔资料,如果没有查到,会显示nil,表示没找到

用法举例:
当不存在时,二者显示的错误信息不一样,例如

当user这个table存在id=2的时候,User.find(2)与find_by_id(2),二者返回结果一样

例如找出拥有管理员权限的用户:User.find_by_is_admin(true)


查找sign_in次数 User.find_by_sign_in_count(15)

find(1,2)

find(1,30)