Ruby on rails 带有rails后端的Ember应用程序。来自表单的日期在rails控制器中始终显示为nil
我对灰烬很陌生,所以这可能很简单,但我所有的研究都一无所获。我感谢你的帮助 我有一个非常简单的应用程序,我正在尝试实践。在my ember前端有一个表单,您可以在其中创建具有姓名和生日的用户。提交时,我希望数据转到rails后端并创建用户。“名称”字段中的数据正在过帐到路线,但“日期”字段返回为空。这是我的密码 形式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
<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`