2016-11-01 23 views
1

ユーザー/プロジェクトの新規プロジェクト権限を作成しようとしていますが、「有効なプロジェクトがありません」という理由で保存に失敗しています。ネットワークログを見ると、サーバーコールのRequestPayloadは空です({"ProjectPermission":{}})。何か案は?権限を保存できません

_addViewPermission: function() { 
     this.getModel().then({    
      success: this.createPP, 
      scope: this 
     }).then({       
      success: this.readPP, 
      scope: this 
     }).then({       
      success: function(result) { 
       console.log('success', result); 
      }, 
      failure: function(error) { 
       console.log('oh noes!', error); 
      } 
     }); 
    },    

    getModel: function() { 
     return Rally.data.ModelFactory.getModel({ 
      type: 'ProjectPermission' 
     }); 
    }, 

    createPP: function(model) { 
     var permission = Ext.create(model, { 
      Project: "/project/51063976712", 
      Role: 'Viewer', 
      User: "/user/43049588391" 
     }); 

     return permission.save(); 
    }, 

    readPP: function(permission){ 
     console.log(permisson); 
     return permission.self.load(permission.getId(), { 
      fetch: ['Project', 'User', 'Role'] 
     }); 
    } 

答えて

1

これは、AppSDKの長年にわたる奇妙な欠陥です。申し訳ありませんが、あなたを引きつけました!私はそれに別のstackoverflowのポストを見つけようとしましたが、多分それはまだここで依頼されていません。

とにかく、あなたが失敗した理由は、作成時にプロジェクトフィールドが読み込み専用としてマークされているからです。したがって、プロキシは、あなたが明確に指定したとしても、プロジェクトフィールドに沿って送信することはありません。

回避策は、新しいレコードを作成して保存する前に、プロジェクトフィールドを持続可能とマークするだけです。

model.getField('Project').persist = true; 
+0

チップをありがとう。私は私の検索でそれを見つけていませんでした。パーミッションオブジェクトが作成される前にその行を挿入し、ペイロードにデータを表示し始めました。 –

関連する問題