【问题标题】:Rails, rendering partial via JS on page load?Rails,在页面加载时通过 JS 渲染部分内容?
【发布时间】:2011-05-23 05:23:26
【问题描述】:

所以我知道当点击链接时如何让部分渲染,但是说我想在页面渲染后开始加载部分?

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,我有点困惑。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    您应该简单地添加一个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)
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-03
      • 2015-04-30
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      相关资源
      最近更新 更多