2012-10-16 2 views
1

이벤트에 대한 부분을 보여주는 타임 라인보기가 있습니다. 따라서 타임 라인보기에서 직접 CRUD 이벤트를 수행 할 수 있습니다. 지금 내가하려고하는 일은 이벤트 옆에있는 '삭제'를 클릭하면 삭제 부분이 새로 고침되어 사용자가 이벤트가 삭제되었음을 알 수 있도록하는 것입니다. 이 기능을 사용할 수없는 것 같습니다. 사용자가 삭제를 클릭 할 때 이벤트가 삭제되지만 부분은 새로 고침되지 않습니다. 업데이트 된 부분을 얻으려면 페이지를 새로 고쳐야합니다.레일즈 - jQuery/AJAX가 부분적으로 새로 고침되지 않습니다.

또한 "내 일정"div의 업데이트 된 콘텐츠를 요청하는 방법을 누군가에게 알려 주어 삭제 된 일정이 해당 일정에 나타나지 않도록 할 수 있습니까? 감사!

타임 라인/쇼 :

<div id="my-timeline"></div> 
<div id="delete_events"> 
    <%= render :partial => "delete_events", :locals => { :events => current_user.events }%>  
</div> 

타임 라인/_delete_events.html.erb :

<%= button_to 'Delete', event, confirm: "Are you sure?", method: :delete, :remote => true %> 

이벤트/delete.js.erb :

$('#delete_events').html('<%= escape_javascript(render :partial => "/timelines/delete_events", :locals => { :events => current_user.events }) %>'); 

이벤트 컨트롤러 :

def destroy 
    @event = Event.find(params[:id]) 
    @event.destroy 

    respond_to do |format| 
     format.html { redirect_to current_user.timeline, notice: 'Event was successfully removed.' } 
     format.json { head :no_content } 
     format.js 
    end 
    end 

내-타임 라인 사업부에 타임 라인 (일시적으로 만 여기에 있습니다!)를 생성하기위한 자바 스크립트 :

<script> 
      $(document).ready(function() { 
       createStoryJS({ 
        type:  'timeline', 
        width:  '820', 
        height:  '600', 
        source:  '/users/<%= current_user.id %>/events.json?callback', 
        embed_id: 'my-timeline', 
        font:  'Euphoria-Droid', 
        debug:  true, 
        gmap_key: 'foo', 
        maptype: 'HYBRID' 
       }); 
      }); 
     </script> 

답변

1

난 당신이

events/delete.js.erb 

    to 

events/destroy.js.erb 

에서와 쓰기 경고로 이름을 변경해야한다고 생각 (" 확인 ") destroy.js.erb 체크 제어 여기에 오는

은 나를

+0

바보 작동 희망! 그게 지금 큰 일이야, 고마워! 타임 라인 div의 내용을 어떻게 새로 고칠 수 있습니까? 그것은 자바 스크립트 자체에 의해 생성되었으므로 새로운 부분을 요청할 수는 없습니다. 감사! – ecs

+0

예 그냥 타임 라인 – Kashiftufail

+0

에 대한 다른 부분을 새로 고칩니다. 타임 라인은 부분적이 아니며, 자바 스크립트에 의해 생성됩니다. div의 업데이트 된 내용을 어떻게 요청합니까? 감사. – ecs

관련 문제