2016-02-10 51 views
0

目前,我在我的api更新上if條件一定值如果以虛假的情況從來沒有在軌道上

motion_detection.frequency = frequency if frequency 
motion_detection.minPosition = minPosition if minPosition 
motion_detection.step = step if step 
motion_detection.min = min if min 
motion_detection.threshold = threshold if threshold 
motion_detection.enabled = enabled 

motion_detection.alert_email = alert_email if alert_email 
motion_detection.alert_interval_min = alert_interval_min if alert_interval_min 
motion_detection.sensitivity = sensitivity if sensitivity 
motion_detection.x1 = x1 if x1 
motion_detection.x2 = x2 if x2 
motion_detection.y1 = y1 if y1 
motion_detection.y2 = y2 if y2 
motion_detection.schedule = JSON.parse(inputs["schedule"]) if schedule 
motion_detection.save 

motion_detection 

工作紅寶石,而如果我把motion_detection.enabled = enabled if enabled 再一次去TRUE,它永遠不會回來FALSE即使我把enabled = false。爲什麼這樣?我希望它的虛假以及運行時,我可以將啓用假的,但它僅適用於TRUE如果你想只分配motion_detection.enabled = enabled只有當enabled一個value提供之後再也沒有回到假

+0

我很抱歉。我沒有看到,部分... – Minato

+0

如果我得到你的問題的權利。 。當你把'enabled = false'的時候,你想要'if'工作。我的問題是,如果你把'enabled = false',你爲什麼認爲if條件會起作用。 – Minato

+0

啓用是一個值。我想要解決方案如何排除它,如果我可能把啓用虛假,那麼它應該用FALSE更新值。 – ijunaidfarooq

回答

0

...

要做到這一點,你可以使用..

motion_detection.enabled = enabled unless enabled.nil? 

motion_detection.enabled = enabled if !enabled.nil? 

這樣你就可以分配上的enabledpresence而不是它的value ..

這裏是一個簡單的紅寶石小提琴來說明rubyfiddle

+0

最好的一個是上述一個與除非,我的引線還優選的是感謝哥們 – ijunaidfarooq

+0

@ijunaidfarooq錦鯉奈..:d – Minato

+0

巴里理念馬裏海嘰嘰喳喳PE:P膠瓦利:d – ijunaidfarooq

相關問題