在我的主干应用程序中,我决定将我的 API 返回日期作为 unix 时间戳(整数)。当我在骨干模型上调用 save 时,它会将这些整数发送到 rails,但是 rails 似乎将它们一起跳过,这是有道理的,因为它实际上只是一个整数,那么它怎么知道呢?
是否有任何“自动”解决方案,rails 会将它们识别为日期并相应地在我的参数哈希中提供它们?没有手动转换这些属性?
到目前为止,我有两个解决方案:
在客户端执行,覆盖骨干模型中的 toJSON() 方法:
toJSON: ->
attrs = @attributes
attrs.start = new Date(@attributes.start)
attrs.finish = new Date(@attributes.finish)
_.clone( attrs )
我不喜欢这种方法,因为我失去了为什么我首先切换到使用时间戳的好处:能够使用主干的 findWhere(start:timestamp)。是的..所以,毫无意义。
服务器端:
params[:event][:start] = DateTime.strptime(params[:event][:start].to_s,'%s')
还是我疯了,应该以其他方式来做?我了解 Rails 旨在与 Backbone 相处融洽。我基本上是在寻找一种按日期客户端搜索事件的简单方法。