【问题标题】:Ember set date field that is using DS.attr("date")使用 DS.attr("date") 的 Ember 设置日期字段
【发布时间】:2013-03-09 21:31:40
【问题描述】:

我有一个简单的模型Expense,它有date, amount, description

我的问题是,当记录发送到服务器时,date 字段始终为 nil,只有在我将其保留为默认值时才有效。

模型有一个默认的日期值。呈现表单时,会预先填充默认日期。如果提交此表单,则发送该值。如果我单击输入字段(焦点),它总是会向服务器提交 nil。

我做错了吗?

代码如下。抱歉,如果它看起来很陌生,我正在使用咖啡脚本 =)

收到的参数

{"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>

【问题讨论】:

  • 我有 Date.now() 并将其切换为 new Date() 并且我的模型的日期字段开始保存。

标签: javascript ruby-on-rails ember.js


【解决方案1】:
@transaction.set('date', new Date(this.get('date')));

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 2012-12-02
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    相关资源
    最近更新 更多