1
我有一个时间轴视图,显示事件的部分 - 因此您可以直接在时间轴视图上执行CRUD事件。我现在要做的就是让它在单击事件旁边的“删除”时删除部分刷新,以便用户可以看到该事件已被删除。我似乎无法得到这个工作 - 事件会在用户点击删除时被删除,但部分不会刷新。您必须刷新页面以获取更新的部分。Rails - jQuery/AJAX不刷新部分
另外,请有人告诉我,我会如何请求更新的“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 %>
事件/ 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
生成的时间表(只设在这里暂时!)到我的时间线的div的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>
傻我!!现在效果很好,谢谢!我将如何刷新时间线div的内容?它是由javascript本身生成的,所以不是我可以请求一个新的部分。谢谢! – ecs
是刚刚刷新时间线的另一个部分 – Kashiftufail
我不能这样做,时间轴不是一个部分,它是由JavaScript生成的。我如何请求div的更新内容?谢谢。 – ecs