Dorsale: Comment valider si un Modèle existe déjà dans une Collection?

Compte tenu de cette épine Dorsale de la Collection

define  [
  'underscore',
  'backbone',
  'cs!models/floor'
], ( _, Backbone, Floor ) ->
return Backbone.Collection.extend
  model: Floor
  url: ->
    return '/api/hotels/' + @hotelId + '/floors'
  initialize: (models, options) ->
    if ( options.hotelId )
      @hotelId = options.hotelId
      @.fetch()

  parse: (response) ->
    response.floors

  alreadyExist: ->
    @.filter( (floor) ->
      return floor.get('number') == @.attrs.get('number')
    )

et d'ajouter un nouveau Modèle à partir d'une vue de la façon ci-dessous, comment puis-je valider si le modèle existe déjà dans la collection ?

add_floor: (e) ->
  console.log ' Saving Floor '
  e.preventDefault()
  floorNumber =  $('input[name=floorNumber]').val()
  floorDescription = $('input[name=floorDescription]').val()
  return new NoticeView({ message: "Please enter a Floor Number.", displayLength: 10000 }) unless floorNumber
  if ! @collection.add({ number: floorNumber}).alreadyExist()
    @collection.create({ number: floorNumber, description: floorDescription }, {
      error: (model, response) ->
        # $(e.target).removeClass('waiting');
        new ErrorView({ message: "Problem saving Floor " + response.responseText, displayLength: 10000 })
      success : (model, response) ->
        console.log model
        console.log response
        new NoticeView({ message: "Floor successfully saved.", displayLength: 10000 })
    })
  else 
    new ErrorView({ message: "Floor already exist." + response.responseText,        displayLength: 10000 })
La Collection ne vous autorise pas à le faire 🙂 il renvoie une erreur (En tout cas, il y a une variation mineure de vos modèles, et vous souhaitent la valider, de les lier à des add de l'événement et de valider retour)
Je ne peux pas comprendre comment faire pour valider la façon dont vous le dire. Je vais le faire côté serveur. Grâce Deeptechtons.
je reviendrai vers vous avec un exemple 🙂 de sorte qu'il permettrait de résoudre le problème

OriginalL'auteur Aldo | 2012-10-15