React Rails:对象无效作为反应子

时间:2017-05-16 10:23:25

标签: ruby-on-rails ruby reactjs react-rails

我使用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

1 个答案:

答案 0 :(得分:1)

let time = @props.booking.start_time
let timeToDisplay = time["hour"] + ":" + time["minute"] + ":" + time["second"]

执行此操作并将该值传递给td。我觉得它有效。

React.DOM.td null, timeToDisplay