[초보자] find와find.by의 구별 알기 쉬운 해설

2029 단어 find_byfindRubyRails
여러분,find와findby 따로 사용 가능한가요?
왠지 find랑 find.많은 사람들이 controller에서by를 사용하고 있다고 생각합니다.
자신도 분리해서 사용하지 못했는데, 어느덧 최근까지 아래의 그림들처럼 controller가 기록되어 있다.

그러나 엔지니어가 구분해서 사용하자고 건의했기 때문에 이 건의를 들은 토대에서 실제 제작할 때find와find를 의식적으로 진행하는 것이 좋다by의 특기에 대해 아래에 서술하고 싶습니다.

find、find_by의 큰 차이


가장 큰 차이는find입니다.그걸 돌려주는 거야.
나는 아까의 그림처럼 id를 사용하여 데이터를 찾는 경우가 매우 많다고 생각한다.
그때
@micropost 1 = Micropost.find_by(id: params[:id])
@micropost 2 = Micropost.find(id: params[:id])
라는 두 가지 표현을 썼다.
데이터가 좋을 때는 어느 쪽이든 데이터를 잘 끌어올릴 수 있지만 데이터가 없을 때는 대응이 다르다.
@micropost1에서 데이터가 없으면 오류가 반환됩니다.
@micropost2에서 nil로 돌아갑니다.
그러니까findby면 데이터가 없을 때@micropost2=nil 상태에서 프로그램은view까지 계속됩니다.
그러나find를 사용하면 nil이 아니라 오류가 되돌아오기 때문에view까지 과정이 실행되지 않습니다.
따라서 특별한 이유가 없으면 show action 등에서 id로 데이터를 끌어올릴 때find를 추천합니다.
그리고find에서 id만으로 이끌어가는 것도 중점이라고 생각합니다.id 이외의 방법으로 데이터를 끌어올리려면find를 사용할 수 있습니다by를 사용하세요!

좋은 웹페이지 즐겨찾기