2

を持つ単純なモデルExpenseがありますdate, amount, description

私の問題は、レコードがサーバーに送信されるとき、dateフィールドは常にnilであり、デフォルト値のままにしておく場合にのみ機能することです。

モデルには日付のデフォルト値があります。フォームがレンダリングされると、デフォルトの日付が事前入力されます。このフォームが送信されると、値が送信されます。入力フィールド (フォーカス) をクリックすると、常にサーバーに nil が送信されます。

私は何か間違ったことをしていますか?

以下のコード。エイリアンに見えたらごめんなさい、私はcoffeescriptを使用しています=)

受信したパラメータ

{"expense"=>{"amount"=>10, "date"=>nil, "description"=>"Hello I got an expense"}}

モデル

Household.Expense = DS.Model.extend
  amount:      DS.attr('number')
  date:        DS.attr('date', { defaultValue: new Date})
...

意見

Household.ExpensesNewView = Ember.View.extend()

コントローラ

Household.ExpensesNewController = Ember.ObjectController.extend
  create: ->
    @transaction.commit()

  init: ->
    @transaction = @.get('store').transaction()
    @set 'content', @transaction.createRecord(Household.Expense)

  save: ->
    @transaction.commit()
    this.transaction = null

  transitionAfterSave: (->
    if @get('content.id')
      @transitionToRoute("expenses")).observes('content.id')

以下のような入力フィールドが使用される場合:

<form {{action save on="submit"}} class="form-horizontal">
  {{view Ember.TextField valueBinding="date" id="date" placeholder="Date" required="true"}}
</form>
4

1 に答える 1

0
@transaction.set('date', new Date(this.get('date')));
于 2014-05-29T10:41:35.097 に答える