从 Jade, NodeJS 的复选框中读取布尔值

Read boolean from checkbox in Jade, NodeJS

我将 NodeJs 与 Express、Jade、MongoDB、Mongoose 等一起使用

所以我有一个带有复选框的表单,该表单使用 Mongoose 作为布尔值(真或假)发布到我的 mongoDB 数据库中的 object 中。

.checkbox
        input(type="checkbox", name="roundTrip", checked=(true || false))

我正在尝试使用 Jade 来显示我的 collection 中所有 object 的列表,所以我将 object 的数组传递给了我的'/ridelist' 使用 res.render 调用 rides

但是当我尝试使用 Jade 中的 if 语句来读取复选框的状态时,我收到错误并且它似乎不起作用。

这是我想做的,但不起作用:

h1.
        List of Rides
    ul
        each ride in rides
            li
                p Destination: #{ride.destination}
                p Departure: #{ride.dateLeaving} 
                p Round Trip: #{ride.roundTrip}
                if #{ride.roundTrip}     //- THIS GIVES ME AN ERROR
                    p Time departing for return: #{ride.dateReturning}

没有 最后两行它呈现为:

List of Rides Destination: Santa Cruz Departure: Friday 5pm Round Trip: true Destination: Chico Departure: Saturday 4am Round Trip: false

但是 if 语句把我搞得一团糟。

删除括号:

if ride.roundTrip

语句从if开始,所以你不需要这个包装器

此外,如果您的 ride.roundTrip 是此模板中的字符串,您可以使用

if ride.roundTrip == 'true'