【发布时间】:2012-10-16 10:45:02
【问题描述】:
我有一个显示部分事件的时间线视图 - 因此您可以直接在时间线视图上对事件进行 CRUD。我现在要做的是拥有它,以便当您单击事件旁边的“删除”时,删除部分刷新,以便用户可以看到该事件已被删除。我似乎无法让它工作 - 当用户单击删除时,事件确实被删除,但部分不会刷新。您必须刷新页面才能获得更新的部分。
另外,请有人告诉我如何请求“my-timeline” 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 %>
事件/删除.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
生成时间线的javascript(只是暂时放在这里!)到my-timeline div中:
<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>
【问题讨论】:
标签: javascript jquery ruby-on-rails ajax partial