Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 带有rails后端的Ember应用程序。来自表单的日期在rails控制器中始终显示为nil_Ruby On Rails_Ember.js_Ember Data - Fatal编程技术网

Ruby on rails 带有rails后端的Ember应用程序。来自表单的日期在rails控制器中始终显示为nil

Ruby on rails 带有rails后端的Ember应用程序。来自表单的日期在rails控制器中始终显示为nil,ruby-on-rails,ember.js,ember-data,Ruby On Rails,Ember.js,Ember Data,我对灰烬很陌生,所以这可能很简单,但我所有的研究都一无所获。我感谢你的帮助 我有一个非常简单的应用程序,我正在尝试实践。在my ember前端有一个表单,您可以在其中创建具有姓名和生日的用户。提交时,我希望数据转到rails后端并创建用户。“名称”字段中的数据正在过帐到路线,但“日期”字段返回为空。这是我的密码 形式 <form {{action "save" on="submit"}}> <p> <label>Name: {{input value=mo

我对灰烬很陌生,所以这可能很简单,但我所有的研究都一无所获。我感谢你的帮助

我有一个非常简单的应用程序,我正在尝试实践。在my ember前端有一个表单,您可以在其中创建具有姓名和生日的用户。提交时,我希望数据转到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>
来自用户的参数#在rails中创建路由

Parameters: {"user"=>{"name"=>"testname", "dob"=>nil}}
编辑: 模型防御

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

感谢您的帮助

我相信Ember无法将您的
输入值
(字符串类型)解析为
dob
属性(日期类型)

一种可能的解决方法是使用可设置的计算属性扩展
input
helper,该属性从字符串到日期再到日期进行解析。 请在此处查看详细信息:


如果您只想练习,只需在您的模型定义中设置
dob:DS.attr('string')
,它就会工作。

我最近遇到了类似的问题。这是因为余烬数据的日期序列化程序。尝试添加充当传递的自定义日期转换

`import DS from 'ember-data'`

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

  serialize: (deserialized) ->
    deserialized

`export default DateTransform`

如果您使用ember cli(我强烈建议您这样做),您可以执行
ember g transform date

是否可以发布您的模型定义,请。@Artych添加到postEverything中,如果我没有数据类型作为date,则一切正常。如果我将其保留为字符串,那么只要返回一个有效日期,rails后端仍然可以工作
`import DS from 'ember-data'`

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

  serialize: (deserialized) ->
    deserialized

`export default DateTransform`