link_to
에 대체 URL을 사용하는 간단한 방법이 있습니까? :method => :delete
은 자바 스크립트가 비활성화 된 사람들에게 유용할까요?RESTful link_to : method => 자바 스크립트를 사용하지 않는 사용자를 위해 fallback을 사용하여 레일즈 3을 파기하십시오.
예를 들어 설명 목록이 있다고 가정합니다. 댓글을 삭제하는 링크를 추가하려면, 내가 넣을 수 있습니다
<%= link_to "Delete", comment_path(comment.id), :method => :delete %>
이 내 UJS 드라이버 (내 경우에는 jquery_ujs)는 DELETE 요청으로 변합니다 data-method="delete"
에 링크를 생성 할 것입니다. 그러나 javascript가 꺼지면 링크는 GET 요청 (docs에 광고 된대로)으로 따라 가고 내 컨트롤러는 당연히 혼란 스럽습니다.
이 문제를 해결할 수있는 좋은 방법이 있습니까? 하나의 솔루션을 보여주는 Railscast 77이 있지만, 이것은 엄청난 양의 여분의 코드가 필요하고 매우 우아한 :method => :delete
솔루션을 내 보냅니다. 자바 스크립트가 비활성화되었을 때 확인 - 삭제 페이지에 대한 링크를 생성하면 괜찮을 것입니다.
내가 생각할 수있는 유일한 해결책은 button_to
페이지와 UJS를 사용하여 해당하는 link_to
으로 바꾸는 것입니다. 이것은 어떻게 든 나에게 꽤 맞는 것처럼 보이지 않는다. 그러나 아마 OK이다? 다른 아이디어?
관심이있는 사람이라면 button_to를 거의 동일한 link_to로 대체 할 jQuery를 작성했습니다. button_to가 추가 컨트롤러 메소드 (Max에서 게시 한 링크의 delete와 같은)를 소개하지 않으면 button_to가 확인을 얻을 기회가 없기 때문에 여기서 그 메소드를 사용하게 될 것이라고 생각하지는 않지만 볼 수 있습니다. 다른 상황에서 일하고 있습니다. – dantswain