所以我理解在点击链接时如何获得部分渲染,但是说我想在页面渲染后开始加载部分?
show.html.erb
<div id="weather"></div>
weather.js.erb
$( "#weather" ).html( "<%= escape_javascript(render( :partial => 'weather' )) %>");
weather.html.erb
<%= Time.now %> # For brevity. This actually does more.
控制器
def weather
slow_api_request
respond_to do |format|
format.js {render :layout => false}
end
end
但那么如何在页面加载后启动部分请求(因为从API检索数据的动作非常慢),我使用的是rails UJS,我只是有点困惑。
答案 0 :(得分:3)
您只需添加ajax
来电即可。假设您正在使用jQuery,只需在视图中添加此类脚本:
$.ajax({
type: "GET",
url: "<%= url_for your_path %>" ,
success: function(data){
//if ever there is something more to do (there is also an error handler)
}
});