CRUD 처리(rails6) 오류 해결

1621 단어 RubyRails

CRUD 처리 중 발생한 오류를 출력합니다.


잘못된 내용


투고 정보를 삭제하려는 중 발생한 오류입니다.
삭제된 HTTP 메서드 GET, 원래 DELETE입니다.

가능한 원인


1. 라우팅 오류입니다.
2. 컨트롤러 동작 오류
3. 보기 파일 설명 오류

오류 제거 프로세스


1∼3의 오류 여부를 확인한다.
 ルーティング
  delete '/users/:id', to: 'users#destroy'

 コントローラー
  def destroy
    user = User.find(params[:id])
    user.destroy
  end

 削除ボタン追加
  <%= link_to '削除', "/users/#{user.id}", method: :delete, data: {confirm: "削除しますか?"}  %>

 ビュー
 <h1>削除完了</h1>
  <%= link_to "一覧画面へ", "/users" %>
확인해 봤는데 전선의 오류를 찾지 못했어요.
막혀서 오류 메시지에서 검색했는데 link_to가 아닌 button_to면 삭제할 수 있는 글을 발견하고 즉시 실행했다.button_to에서 코드를 다시 쓰면 삭제할 수 있지만 아직 완전히 해결되지 않았기 때문에 다시 정보를 수집합니다.

결실


오류의 원인은 Rails7의 발표delete 방법의 기술 방법의 변경 때문이다.
오류 발생 시 Rails version
$ rails -v 
$ rails 7.0.1
수정
① 설치된 Rails의 버전 확인
$ gem list rails
② 사용하고자 하는 버전이 없을 경우 설치
$ gem install rails -v 6.0.4.4
③ rails6를 통해 재제작
$ rails _6.0.4.4_ new sample_app
확인
삭제할 수 있습니다.

잘못을 해결한 소감


잘못된 문장을 본 후, 나는 루트가 잘못된 것임을 알아야 한다고 생각했기 때문에, 나는 그곳에서 하나하나 잘못된 곳을 파괴하면 잘못을 해결할 수 있다고 생각한다
이번 오류에 관해서는 원래 기술도 틀리지 않아 처리하기 어렵다.
드디어 해결됐기 때문에, 나는 또 하나가 성장했다고 생각한다.

좋은 웹페이지 즐겨찾기