इस बैकबोन संग्रहबैकबोन: संग्रह में एक मॉडल पहले से मौजूद है या नहीं, तो कैसे सत्यापित करें?
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')
)
को देखते हुए और एक दृश्य के नीचे जिस तरह से, मैं कैसे मान्य कर सकते हैं अगर मॉडल पहले से ही संग्रह के भीतर मौजूद से कोई नया जोड़ते समय?
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 })
संग्रह आपको लगता है कि :) यह एक त्रुटि फेंकता है (किसी भी मामले में बस में एक छोटी सी भिन्नता है क्या करने के लिए अनुमति नहीं देता: पता चल सके कि एक संग्रह एक मॉडल शामिल हैं की एक उचित तरीके से रेखांकित की इस तरह का उपयोग करना है आपके मॉडल और आप इसे सत्यापित करना चाहते हैं, 'add' ईवेंट से जुड़ें और वहां वापस सत्यापित करें) – Deeptechtons
मुझे यह नहीं पता कि आप इसे किस तरह से मान्य कर सकते हैं। मैं इसे सर्वर की तरफ कर दूंगा। धन्यवाद Deeptechtons। – Aldo
मैं एक उदाहरण के साथ वापस आऊंगा :) ताकि यह समस्या को हल करे – Deeptechtons