2011-06-13 3 views
0

난 레일 3.1 앱을 가지고 있는데, 아약스를 통해 내 이미지를 지우는 것 같습니다. 내 코드 smaple 내가 나를 위해 작동하지 않습니다레일에서 아약스를 통해 객체를 삭제하기 3.1rc4

$('.delete_post').bind('ajax:success', function() { 
    $(this).closest('tr').fadeOut(); 
}); 

가 난 내 application.js에서

<%= link_to '(delete)', profile_photo_path(photo.profile, photo), :method => :delete if me %> 

을 내 뷰에서 다음

def destroy 
    @photo = Photo.find(params[:id]) 
    @photo.destroy 
    respond_to do |format| 
    format.html { redirect_to(user_photos_path(current_user)) } 
    format.js { render :nothing => true } 
    end 
end 

입니다. 작업을 수행하지만 페이드 아웃하지 않습니다.

답변

0

ajax에서 : success 콜백 this은 예상대로 .delete_post 링크에 바인딩되지 않습니다. 링크에 ID를 추가 한 다음 컨트롤러 나 템플릿에서 $("#photo_17_delete").closest('tr').fadeOut();과 같은 일부 자바 스크립트를 생성 할 수 있습니다. 이것은 그것을 처리하는 한 가지 방법의 예일뿐입니다.

+0

다시 한번 감사 – Uchenna

0

이전 질문 이었지만 데이터를 수정하거나 파괴하는 동작에 대한 링크를 사용하는 것이 좋지 않은 것처럼 보였습니다. 당신은

을 to_button 사용해야하는 대신

그냥 그 버전을 레일에서 문제가 .. 것을 발견

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to

+0

음침한 팁을 주셔서 감사합니다 ..하지만 난 그냥 button_to가 어려운 느낌 사용자 정의하십시오. – Uchenna

관련 문제