報(bào)告一個(gè)邏輯bug
如果提交評(píng)論的模板代碼如下
form(method="POST",?action="/user/comment") ????input(type="hidden",?name="comment[movie]",?value="#{movie._id}") ????input(type="hidden",?name="comment[from]",?value="#{user._id}") ????.form-group ????????textarea.form-control(name="comment[content]",?rows="4") ????.pull-right ????????button.btn.btn-primary(type="submit")?提交
在用戶(hù)沒(méi)有登錄的情況下會(huì)報(bào)如下錯(cuò)誤:
TypeError: Cannot read property '_id' of undefined
因?yàn)樵谟脩?hù)沒(méi)有登錄的情況下,app.locals.user = _user 的值是undefined,所以上面表單的user._id自然是undefined。
我的解決辦法:
if?user ????input(type="hidden",?name="comment[from]",?value="#{user._id}")
即在用戶(hù)登錄的情況下,才讀取user._id
2015-02-13
為啥我在登錄調(diào)試的時(shí)候user._id不能給comment[from]賦值,報(bào)這個(gè)錯(cuò)誤CastError: Cast to ObjectId failed for value "undefined" at path "from",求解
2015-02-07
很贊,不能同意更多,建議將這個(gè)置頂,避免其他同學(xué)踩坑!