1

在 Rails 中,我们有生命周期钩子,它允许我们这样做:

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
4

2 回答 2

2

CoffeeScript 类主体是可执行的:

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

    @bind 'beforeSave', @record_signup
于 2013-03-30T10:58:41.050 回答
1

如果未设置默认值,如何覆盖标准 Model.create 函数以包含默认值?

@create: (atts, options) ->
  atts.myVal or= 'someDefault'
  record = new @(atts)
  record.save(options) 
于 2013-04-01T20:21:41.547 回答