在Rails中异步加载Div

时间:2014-03-02 02:48:05

标签: javascript ruby-on-rails ruby-on-rails-4

我有一个我要加载的页面,其中包含正在进行API调用的部分。我没有等待加载的页面,直到完成。我希望页面加载,然后在完成后显示其他部分。

现在,这就是我所拥有的,但它没有得到我想要的结果,即使有了它仍然等待很多处理而不是首先加载页面,即使看起来应该是这样。

<script>
    $(window).load(function(){
        $(".my-div").append('<%= my_function %>');
    });
</script>

1 个答案:

答案 0 :(得分:0)

<强>资产

请勿在资产管道中使用erb代码

在您的布局或视图中包含该代码即可,但如果您在app/assets/javascripts/any_file.js中加入,则无法使用

ERB代码只能由js文件夹中的views处理(主要是因为asset管道的预编译过程)


<强>附加

正如评论中指出的那样,你最好等到document加载后,就像这样:

$(document).ready(function() {
    //your code
});

但是,如果你使用turbolinks,你最好使用这样的东西:

var load = function() {
    //append code here
};

$(document).ready(load);
$(document).on('page:load', load);

<强>功能

奇怪的是,您已经省略了代码中最重要的一个方面 - 如何检索数据。如果您可以使用异步功能回复,那将是一个很好的帮助!