2017-05-30 25 views
1

以下代碼允許用戶選中一個框以在使用MongodB/Node/Express的帖子中包含舒適性。它完美地工作,讓用戶選擇他們的設施,然後將這些選擇顯示爲圖標。MongoDB的複選框數據

但是我無法編輯這些職位在我的編輯路線。那就是問題所在。查看底部的代碼。我如何更改我的代碼以便能夠編輯圖標?

// 了簡化的架構

var rentalsSchema = new mongoose.Schema({ 
     amenities: Array 
    }); 

// 用戶檢查自己的設施

<input type="checkbox" name="amenities" value="wifi"><span>Wi-fi</span> 
<input type="checkbox" name="amenities" value="tv"><span>TV</span> 

// 代碼遍歷數組,並顯示了使用谷歌的材料圖標相關的圖標。

<div class="list-group"> 
     <li class="list-group-item active">Amenities</li> 
     <li id="amenitiesBox" class="list-group-item"> 
     <% for(var i=0; i<rentals.amenities.length; i++){ %> 
     <i class="material-icons"><%=rentals.amenities[i]%></i> 
     <% } %> 
     </li> 
     </li> 
     </div> 
     </div> 

// 的問題是在我的編輯路線。簡化如下

 <form id='rentalEdit' action="/rentals/<%=rentals._id %>/?_method=PUT" method ="POST"> 

<input Checked type="checkbox" name="rentals[amenities]" value="wifi"><span>Wifi</span> 

     </form> 

回答

0

啊,明白了!

在我router.put我說:

var amenities = req.body.amenities; & amenities: amenities. 

然後,我只是說我的設施,以編輯形式,這種格式。

<input name="amenities" type="checkbox" value="wifi" <%= rentals.amenities.indexOf("wifi") !== -1 ? "checked" : "" %> >wifi