2017-03-08 1 views
0

Tout fonctionne très bien, jusqu'à ce que je crée de nouveaux enregistrements de réaction sur frontend qui ont une valeur "nulle" dans "id".Comment écrire l'assistant Ember pour comparer les nouveaux enregistrements de modèle de charbon avec id = null

lorsque je tente de comparer des objets droites (je ne veux pas les comparer juste pour trouver si elles pointent à l'objet/record du même modèle Ember)

selected=(eq task.reaction reaction) 

Il ne fonctionne pas, j'ai essayé d'écrire sur commande aide, mais j'ai du mal avec comparant ces objets Ember, car ils sont en quelque sorte différente alors même qu'ils ont le même id (écran du débogueur chrome objets d'info http://imgur.com/a/qfuQ0)

+0

Vous ne devriez probablement pas utiliser d'ID de modèle pour cela. Je voudrais juste créer un tableau d'options et utiliser les indeces de la matrice locale. – AlexMA

Répondre

0

Après un certain temps, j'ai découvert qu'en cas de modèle est extrait de belongsTo, son objet a son enregistrement stocké dans la propriété "content", avec Je pense que je pourrais enfin écrire l'aide dont j'avais besoin.

import Ember from 'ember'; 

export function eqRecord(params/*, hash*/) { 
    let firstObject = params[0]; 
    let secondObject = params[1]; 
    let firstRealRecordObject; 
    let secondRealRecordObject; 

    if(!Ember.isEmpty(firstObject.content)){ 
     firstRealRecordObject = firstObject.content; 
    } else { 
     firstRealRecordObject = firstObject 
    } 

    if(!Ember.isEmpty(secondObject.content)){ 
     secondRealRecordObject = secondObject.content; 
    } else { 
     secondRealRecordObject = secondObject 
    } 


    return firstRealRecordObject === secondRealRecordObject; 
} 

export default Ember.Helper.helper(eqRecord);