0

2つのExt.data.models(ネスト)があります:

Ext.define('App.Model.Permission', {
    extend: 'Ext.data.Model',
    belongsTo: 'Roles',
    fields: [{ name: 'Controller', mapping: '@Controller' }, 'Ptype'],    
});

    Ext.define('App.Model.Roles', {
    extend: 'Ext.data.Model',
    idProperty: 'Id',
    hasMany: { model: 'Permission', name: 'Permissions', associationKey: 'Permissions' },    
    fields: [{ name: 'Id', mapping: '@Id' }, 'Name', 'Description']
});

ストアオブジェクト-Ext.store

 rolesstore = Ext.create('App.Data.Lstore', {
            model: 'App.Model.Roles',
            autoLoad: false,
            proxy: {
                type: 'ajax',
                url: '/Cache/roles.xml',
                reader: {
                    type: 'xml',
                    record: 'Role'                
                }
            }
        });

データ読み込み用のxmlファイルの一部

   <?xml version="1.0" encoding="utf-8"?>
    <Roles>
      <Role Id="11111111-1111-1111-1111-111111111111">
        <Usercreate>430d4bda-4c0c-4e5a-a443-b7091ef1e98c</Usercreate>
        <Dateedit>01.01.0001</Dateedit>
        <Name>Администратор</Name>
        <Description>Роль администратора</Description>
        <Permissions>
          <Permission Controller="PurchaseController">
            <Ptype>2</Ptype>
          </Permission>
          <Permission Controller="ContractController">
            <Ptype>2</Ptype>
          </Permission>
          <Permission Controller="PlanController">
            <Ptype>2</Ptype>
          </Permission>
          <Permission Controller="ApprovalController">
            <Ptype>2</Ptype>
          </Permission>
          <Permission Controller="AdminController">
            <Ptype>2</Ptype>
          </Permission>
          <Permission Controller="DictionaryController">
            <Ptype>2</Ptype>
          </Permission>
        </Permissions>
      </Role>
</Roles>

'Roles'モデルのみを保存するためにデータをロードしている間、'Permission'モデルをネストせずに保存していますか?

どこが間違っているの?ありがとう。

4

1 に答える 1

0

それは、このようには機能しません。ガイドによると、ネストされた関連付けを明示的に Roles.Permissions() と呼ぶ必要があります。ガイドまたはを参照してください。

于 2012-04-24T02:06:34.430 に答える