我使用rails 5.1和react-rails gem。
我的模特有一个" start_time"使用" tod"的列(时间宝石),所以它在我的模型中序列化如下:
serialize :start_time, Tod::TimeOfDay
我需要在反应视图中解析这段时间,但我不了解如何渲染生成的对象。
console.log(@props.booking.start_time) #=> Object {hour: 10, minute: 15, second: 0, second_of_day: 36900}
当我尝试在视图中渲染它时,我收到此错误:
Uncaught Error: Objects are not valid as a React child (found: object with keys {hour, minute, second, second_of_day}). If you meant to render a collection of children, use an array instead or wrap the object using createFragment(object) from the React add-ons.
我应该在发送它之前解析模型中的属性,还是有一种反应方式来解析(和格式化)数组?
编辑:添加了视图代码
@Booking = React.createClass
render: ->
React.DOM.tr null,
React.DOM.td null, @props.booking.start_time
答案 0 :(得分:1)
let time = @props.booking.start_time
let timeToDisplay = time["hour"] + ":" + time["minute"] + ":" + time["second"]
执行此操作并将该值传递给td
。我觉得它有效。
React.DOM.td null, timeToDisplay