master
 1class csx.Views.ErrorView extends Backbone.View
 2  initialize: (options) ->
 3    @attributesWithErrors = options.attributesWithErrors
 4    _.bindAll(@, "clearOldErrors", "renderErrors", "renderError", "fieldFor")
 5
 6  render: () ->
 7    @clearOldErrors()
 8    @renderErrors()
 9
10  clearOldErrors: () ->
11    @$(".error").removeClass("error")
12    @$("p.inline-errors").remove()
13
14  renderErrors: () ->
15    _.each(@attributesWithErrors.errors, @renderError)
16
17  renderError: (errors, attribute) ->
18    errorString = errors.join(", ")
19    field = @fieldFor(attribute)
20    errorTag = $('<p>').addClass('inline-errors').text(errorString)
21    field.append(errorTag)
22    field.addClass("error")
23
24  fieldFor: (attribute) ->
25    @$("#cake_#{attribute}").parent()