Closed shaynekang closed 9 years ago
레일즈 모델에는 find_by라는 메소드가 있습니다. 인자로 받은 조건에 해당하는 모델 인스턴스 중 첫번째 것만 가져온다는 것이 where와의 차이점입니다. 가령
find_by
where
def response_status(notice) response = responses.where(notice: notice).first if response response.status else "not" end end
는
def response_status(notice) response = responses.find_by(notice: notice) if response response.status else "not" end end
로 수정해 줄 수 있습니다. 또한 레일즈는 메타프로그래밍을 통해서 컬럼 이름과 일치하는 첫번째 인스턴스를 가져올 수도 있는데, 이를 활용하면
def response_status(notice) response = responses.find_by_notice_id(notice) if response response.status else "not" end end
이렇게 고칠 수 있습니다. 코드를 살펴보고 다른 부분도 이에 맞게 고쳤으면 좋겠습니다. ㅎㅎ
레일즈 모델에는
find_by
라는 메소드가 있습니다. 인자로 받은 조건에 해당하는 모델 인스턴스 중 첫번째 것만 가져온다는 것이where
와의 차이점입니다. 가령는
로 수정해 줄 수 있습니다. 또한 레일즈는 메타프로그래밍을 통해서 컬럼 이름과 일치하는 첫번째 인스턴스를 가져올 수도 있는데, 이를 활용하면
이렇게 고칠 수 있습니다. 코드를 살펴보고 다른 부분도 이에 맞게 고쳤으면 좋겠습니다. ㅎㅎ