2013-03-30 4 views
1

Там находится в рельсах мы имеем жизненный цикл крючки, что позволяет нам это делать:Spine.js значение настройки модели по умолчанию

class Subscription < ActiveRecord::Base 
    before_create :record_signup 

    private 
    def record_signup 
     self.signed_up_on = Date.today 
    end 
end 

Есть ли лучший способ сделать то же самое (я это нужно установить некоторые значения по умолчанию) в Spine.js?

В настоящее время я делаю это таким образом, но, возможно, существует лучший способ?

class Subscription extends Spine.Model 
    @record_signup: (self) -> 
     self.signed_up_on = new Date() 

Subscription.bind 'beforeSave', Subscription.record_signup 

ответ

2

тела класса CoffeeScript выполнимы:

class Subscription extends Spine.Model 
    @record_signup: (self) -> 
     self.signed_up_on = new Date() 

    @bind 'beforeSave', @record_signup 
+0

который может быть дополнительно упрощен до: '@bind 'beforeSave', @ record_signup'? – Dfr

+0

это полностью можно! – Ven

1

Как насчет переопределение стандартной функции Model.create включить свои значения по умолчанию, если они не установлены?

@create: (atts, options) -> 
    atts.myVal or= 'someDefault' 
    record = new @(atts) 
    record.save(options) 
+0

Это выглядит выполнимым, можем ли мы заменить 2 нижние строки одной строкой 'super'? – Dfr

+0

, который должен работать – aeischeid

Смежные вопросы