Pergunta

Então, com o SailsJS você pode simplesmente colocar quaisquer dados antigos em seu modelo e colocá-los no banco de dados, mesmo que o item não esteja definido no attributes objeto.

Existe alguma maneira de evitar que isso aconteça?parece bobagem tentar fazer um if e então lançar erros porque haveria muitas coisas para parar de resolver.

Por exemplo, acabei de me deparar com o problema em que tenho uma lista de usuários e os estou exibindo através do angular ng-repeat no frontend e quando eu put os dados para salvar um usuário, ele também decide que "$$hashKey": "00I" vai com eles também !

Então ele é salvo automaticamente no banco de dados e quando eu atualizo e obtenho os dados novamente, o "$$hashKey": "00I" está voltando e, portanto, causando este erro

Erro:[ngRepeat:dupes] Duplicatas em um repetidor não são permitidas.Use a expressão 'Track by' para especificar teclas exclusivas.Repetidor:(chave, usuário) em Administradores | Filtro: Pesquisa de Usuários, Chave Duplicada:objeto:00I

Isso vem do angular.

obs.

até onde eu sei, o servidor está usando o disco de velas padrão

Foi útil?

Solução

O modo padrão para modelos Sails.js é sem esquema, o que provavelmente não é o que você precisa.Então, tudo que você precisa fazer é adicionar o esquema ao seu modelo:

module.exports = {
 schema: true,

 attributes: {
   // Define all your attributes here...
 }
};

Depois disso, todos os valores que não estão descritos no attributes será automaticamente filtrado durante o salvamento do modelo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top