2015-06-15 32 views
2

我很嶄新,所以這可能是一件非常簡單的事情,但我的所有研究都讓我無處可尋。我欣賞的幫助用導軌後端消除應用程序。日期從形式始終顯示爲無軌控制器

我有一個非常簡單的應用程序,我想與實踐。我的餘燼前端有一個表單,您可以使用名稱和出生日期創建用戶。提交時,我希望數據轉到我的rails後端並創建用戶。名稱字段中的數據將發佈到路由,但日期字段將返回爲空。這裏是我的代碼

形式

<form {{action "save" on="submit"}}> 
<p> 
<label>Name: 
    {{input value=model.name}} 
</label> 
</p> 
<p> 
<label>Date of Birth: 
    {{input value=model.dob}} 
</label> 
</p> 
<input type="submit" value="Save"/> 
</form> 

該控制器可爲用戶#

import Ember from 'ember'; 
export default Ember.Controller.extend({ 
    actions: { 
     save: function() { 
      this.get('model').save() 
      return false; 
     } 
    } 
}); 

參數創建軌道路線

Parameters: {"user"=>{"name"=>"testname", "dob"=>nil}} 

編輯: 型號defenition

import DS from 'ember-data'; 
export default DS.Model.extend({ 
    name: DS.attr('string'), 
    dob: DS.attr('date') 
}); 

感謝您的幫助

+0

你能發表您的模型定義,請。 – artych

+0

@Artych 添加到帖子 –

+0

如果我沒有數據類型作爲日期,一切都可以正常工作。如果我把它作爲一個字符串保存,那麼只要有效的日期被髮回,rails後端仍然可以工作 –

回答

1

我相信燼無法分析您的input value(字符串類型)爲dob屬性(日期型)。

其中一個可能的解決方法是擴大input助手可設置的計算的屬性,從字符串解析到日期和背部。 查看詳情:https://stackoverflow.com/a/25871489/4950029

如果您想只練,只是在你的模型定義設置dob: DS.attr('string')和它的工作。

0

我最近有類似的問題。這是因爲數據的日期序列化。嘗試添加自定義日期變換充當直通

`import DS from 'ember-data'` 

DateTransform = DS.Transform.extend 
    deserialize: (serialized) -> 
    serialized 

    serialize: (deserialized) -> 
    deserialized 

`export default DateTransform` 

如果使用燼,CLI,我強烈建議你做,你可以做ember g transform date