Backbone: Wie um zu überprüfen, ob ein Modell bereits in der Sammlung?

Angesichts dieser Backbone-Sammlung

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')
    )

hinzufügen und ein neues Modell aus einer Sicht, die weit unter, wie kann ich überprüfen, ob das Modell schon vorhanden ist in der Sammlung ?

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 })
  • Sammlung ermöglicht es Ihnen nicht, das zu tun 🙂 es wirft einen Fehler (In jedem Fall ist nur eine geringfügige änderung in Ihre Modelle und Sie wollen, um ihn zu bestätigen, binden add Veranstaltung und zu validieren, da hinten)
  • Ich kann nicht erkennen, wie zu überprüfen, wie Sie sagen. Ich werde es tun, server-Seite. Dank Deeptechtons.
  • ich komme wieder mit einem Beispiel :), so dass es würde das problem lösen
InformationsquelleAutor Aldo | 2012-10-15
Schreibe einen Kommentar