1

イベントのパーシャルを表示するタイムラインビューがあるので、タイムラインビューで直接イベントをCRUDできます。私が今やろうとしているのは、イベントの横にある[削除]をクリックすると、削除部分が更新され、ユーザーがイベントが削除されたことを確認できるようにすることです。これを機能させることができないようです。ユーザーが[削除]をクリックするとイベントは削除されますが、パーシャルは更新されません。更新されたパーシャルを取得するには、ページを更新する必要があります。

また、削除されたイベントがそこにも表示されないように、「my-timeline」divの更新されたコンテンツを要求する方法を教えてもらえますか?ありがとう!

タイムライン/ショー:

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

timeline / _delete_events.html.erb:

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

events / 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

タイムライン(一時的にここにのみあります!)をmy-timelinedivに生成するためのJavaScript:

<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>
4

1 に答える 1

1

名前を変えた方がいいと思う

  events/delete.js.erb

    to

 events/destroy.js.erb

そして、destroy.js.erb チェック コントロールに alert("ok") を書き込むと、ここに制御が入ります

それがうまくいくことを願っています

于 2012-10-16T10:51:59.897 に答える