【Rails】destroy 방법을 사용하려면 "ArgumentError(wrong number of arguments(given0, expected1)":
개시하다
Rails
destroy
방법을 사용할 때 다음과 같이 매개 변수가 필요하지만 오류가 발견되지 않습니다.작은 실수지만 기록으로 남길 겁니다.
ArgumentError (wrong number of arguments (given 0, expected 1)):
컨디션
OS: macOS Catalina 10.15.1
Ruby: 2.6.5
Rails: 6.0.2.1
결론: 해결 방법
이번 인코딩은 아래와 같다.
def destroy
posts = Post.where(user_id: 1)
posts.destroy #ここでエラー発生
end
↓def destroy
post = Post.find_by(user_id: 1)
post.destroy #これは通る
end
이렇게 선택find_by
을 하면 통과할 수 있다.또는 여러 개의 데이터가 일치할 때
def destroy
Post.destroy_by(user_id: 1) #これも通る
end
destroy_by
사용 방법이 있으면 이 데이터를 총괄적으로 삭제할 수 있다.이유:destroy에서 정렬을 처리할 수 없음
where
라면 한 데이터라도 배열에 따라 되돌아온다.따라서 정렬을 처리할 수 없음
destroy
매개 변수를 찾지 못해 오류가 발생하겠지끝말
끝까지 읽어주셔서 감사합니다
누군가에게 참고가 되었으면 좋겠네요
참조된 웹 사이트(지금까지 지원해 주셔서 감사합니다)
Reference
이 문제에 관하여(【Rails】destroy 방법을 사용하려면 "ArgumentError(wrong number of arguments(given0, expected1)":), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/terufumi1122/items/14f28459d1cc329b54cb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)