Rails 「find와 find_by의 차이에 대해」

1385 단어 루비RailsRails5

소개



표제대로 find와 find_by의 차이로 얽혀 버렸습니다.
어떻게든 해결은 할 수 있었으므로, 복습도 겸해 output 하겠습니다.
이미 이미 아시는 분, 생략하는 방법 등 알고 계시면, 교수 바랍니다.

한마디로...



find 메서드 : 각 모델의 id 열의 데이터를 지정하여 레코드에서 데이터를 검색합니다.
find_by 메소드 : 특정 열을 사용하여 레코드에서 처음 일치하는 하나만 반환합니다.

find 메소드는 찾고있는 id가 없으면 오류를 발행합니다. (id를 검색 키로 사용하기 때문에)
find_by 메소드라면 찾고있는 id가 없으면 nil이 반환됩니다.

find 메소드란?



  • id 열의 값을 지정해, 그 값을 가지는 레코드를 취득한다.

  • 아래 예제에서는 tasks 테이블의 id를 지정하고 해당 id의 레코드를 검색합니다.


  • DB에 저장되지 않은 id 열의 값을 지정하면 ActiveRecord 오류가 발생합니다.


  • find_by 메소드란?



    하나의 컬럼을 사용하여 레코드를 검색하고 첫 번째 일치하는 하나만 반환합니다.

    예) 제목 열이 "3/2 Todo"인 레코드를 하나 검색합니다.



    사이고에게



    매일 공부중이므로, 수시로 갱신합니다.
    여러분의 복습에 활용하실 수 있으면 다행입니다.

    좋은 웹페이지 즐겨찾기