• 解决了Extjs和Rails2.1结合的问题


    熟能生巧这句话一点都不假,昨天研究的Extjs与Rails2.1结合,由于to_json在Rails2.1中发生了变化,导致列表的内容出不来的问题,今天对研究Extjs进一步研究之后,有了一点眉目,刚吃完晚饭就开始坐回了电脑前改写代码验证自己的想法,经过几次的尝试,终于圆满解决了这个问题。

            解决的办法还得从to_json的变化说起,先来对比一下结果:

    rails2.02版本的to_json结果:

    {"results": 1, "posts": [{"updated_at": "2008/06/09 11:53:16 +0200",
    "title": "test", "published": true, "id": 1, "content": "contenu",
    "created_at": "2008/06/09 11:53:16 +0200"}]}


    而rails2.1版本的to_json结果:

    {"posts": [{"post": {"updated_at": "2008-06-09T07:56:46Z", "title":
    "test", "published": true, "id": 1, "content": "contenu", "created_at":
    "2008-06-09T07:56:46Z"}}], "results": 1}

    每个post之前都增加了一个“post”,我猜想to_json可能是从xml中学来的,这样一来,信息的层次感比以前强多了。

    那么,要解决这个问题,就需要告诉JsonReader新的Json文档结构,需要修改的代码如下:

    new Ext.data.JsonReader({
                                root: 'posts',
                                id: 'id',
                                totalProperty: 'results'
                            }

    改为:

    new Ext.data.JsonReader({
                                root: 'posts',
                                id: 'postid',
                                totalProperty: 'results'
                            }

    这样,Extjs就能正确识别信息了。不过这个方法只能是使用Ext.data.Store自己创建JsonReader的情况,如果使用Ext.data.JsonStore,那就需要等Extjs插件修改默认的JsonReader的代码了。

  • 相关阅读:
    关于bool operator() 几种变种实现的整理
    C# 访问修饰符
    C# 运算符
    c# 集合、存储及排序、迭代
    【并查集】tree
    【最大流】【POJ1149】PIGS
    【拆边最小费用流】【Asia Harbin 2010/2011】【Transportation】
    【DP】【GG选题】
    【DP】【芝麻开门】
    【搜索】【2012 Dhaka Regional】E Poker End Games
  • 原文地址:https://www.cnblogs.com/hannover/p/1424130.html
Copyright © 2020-2023  润新知