2013-03-30 128 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條底線嗎? – Dfr

+0

應該工作 – aeischeid