我是Ajax的新手。当javascript中的其他现有函数执行时,我想从控制器执行此ajax函数调用以查看,即从控制器获取最新的@trip模型并更新此代码的div而不刷新整个页面。我在网上和这里搜索,我发现从视图到控制器的ajax请求,但没有从控制器通过div更新/重新加载查看。 任何帮助都是值得欣赏的。
控制器:
def show
@trip = Trip.find(params[:id])
....
respond_to do |format|
format.html
end
end
查看:
<div class="clear"></div>
<p><hr/></p>
<h3>Activity Record</h3>
<div style="color:black;">
<% @trip.activities.each do |a| %>
<%= a.created_at.strftime("%m.%d.%Y %T") rescue nil %> - <%= a.description %><br/>
<% end %>
<%= @trip.created_at.strftime("%m.%d.%Y %T") rescue nil %> - <b>Image Received</b><br/>
</div>
</div>
答案 0 :(得分:0)
在视图中,我给了div的名称&#39; activityHistory&#39;
<div class="clear"></div>
<p><hr/></p>
<h3>Activity Record</h3>
<div id="activityHistory" style="color:black;">
<% @trip.activities.each do |a| %>
<%= a.created_at.strftime("%m.%d.%Y %T") rescue nil %> - <%= a.description %><br/>
<% end %>
<%= @trip.created_at.strftime("%m.%d.%Y %T") rescue nil %> - <b>Image Received</b><br/>
</div>
</div>
并使用此javascript函数在每次单击触发器事件按钮时重新加载div
//this method refresh div, show latest history activity and relies on pusher event
function reloadLatestActivityDiv(){
$("#activityHistory").load('/trips/<%=@trip.id%> #activityHistory');
}