在Rails中获取初始JSON的最佳方法是什么?

时间:2011-10-31 23:25:57

标签: javascript jquery ruby-on-rails

请告诉我在Rails中获取初始JSON的最佳方法是什么。

现在我在$(document).ready()事件上得到它。但是用户将等待大约2或3秒钟。有更好的解决方案吗?

2 个答案:

答案 0 :(得分:0)

如果您只想将一些JSON发送到客户端(假设可以根据要求提供),您可以将其发送到您的视图:

@some_json = {:foo => bar}.to_json

如果您的JSON依赖于DOM,则只需要使用$(document).ready()

答案 1 :(得分:0)

老问题,但我遇到了同样的问题。这就是我接近问题的方法,以获得绑定到Knockout的视图模型。希望它对未来的旅行者/ OP有一定的价值。

<div id="initial-content" data="<%= @initial_content%>" /> #JSON string created in controller method

<script type="text/javascript">
    $(function () {
        var initialContent = $.parseJSON($('#initial-content').attr('data'));
        ko.applyBindings(app.product.model(initialContent), $('#content_div')[0]);
    });
</script>
上面的app.product.model()只是一个获取JS对象并返回完全烘焙的Knockout视图模型的函数。

在文档准备就绪期间,您仍在加载模型,但您还没有等待文档准备好从服务器请求JSON。我认为这是你要解决的问题。如果没有,我的道歉。