버튼을 라우팅하여 컨트롤러에서 작업을 호출하는 데 문제가 있습니다. 구체적으로, 내 경로 파일에이 라인Root에서 button_to 경로 라우팅
delete 'destroy/:id', to: 'users#admin_destroy'
및보기에이 라인
%= button_to 'Destroy', destroy_path(user), data: { confirm: 'Are you sure?' } %>
있습니다.
문제는 페이지가 destroy_path를 메서드로 계속 처리하고 있으며 올바른 구문이 무엇이어야하는지에 대한 손실이 있다는 것입니다. 내가 오해하니?
또한 원래이 작업을 link_to로 시도했지만 GET 요청을 위해 예약해야한다는 것을 알게되었습니다. 그러나, 나는 button_to가 어떻게 보이는지 맘에 들지 않으며, 이것을 GET으로 할 수있는 방법이 있는지 궁금해서 link_to를 대신 사용할 수 있습니다. 이 완전히 문제를 해결할 수 있는지를
정확한 오류 메시지가 도움이 될 것입니다. 'user'를 어떻게 채우고 있습니까 ('@ user'이어야합니까?)? routes.rb 코드에는 url_helper 경로에 대한 언급이 없으므로 라우트와 연결하지 않고'destroy_path'를 사용할 수 있는지 확신 할 수 없습니다. '레이크 루트 '의 결과는 무엇입니까? – JTG
그리고 데이터베이스를 변경할 수있는 작업에 link_to/GET을 사용하면 안됩니다. 보안 관련 사항이나 봇이 웹 사이트를 검색하는 방법이나 멱등 원한 행동을 너무 많이하지 않더라도 실제로는 권장되지 않으며 올바른 HTTP 동사로이 작업을 수행하는 방법을 배우고 CSS. – JTG
답장을 보내 주셔서 감사합니다! _user_list.html.erb에서이 부분을 '<% = render : partial => '사용자/사용자', : collection => users %' (원래 destroy_path 행은 _user.html.erb에 있습니다)이라고합니다. 레이크 루트 전체를 나열하지는 않을 것입니다. 왜냐하면 상당히 큰 경로이기 때문에 destroy_path가 파괴 경로에 연결하는 것은 잘못된 것이라고 생각합니다. 맞아. 현재, 페이지는 destroy_path가 메소드라고 생각하고 그것을 정의하는 방법을 알지 못합니다 (실제로 메소드가 아니기 때문에 나는 경로 구문에서 짐작했습니다). –