報告一個邏輯bug
如果提交評論的模板代碼如下
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")?提交
在用戶沒有登錄的情況下會報如下錯誤:
TypeError: Cannot read property '_id' of undefined
因為在用戶沒有登錄的情況下,app.locals.user = _user 的值是undefined,所以上面表單的user._id自然是undefined。
我的解決辦法:
if?user ????input(type="hidden",?name="comment[from]",?value="#{user._id}")
即在用戶登錄的情況下,才讀取user._id
2015-02-13
為啥我在登錄調試的時候user._id不能給comment[from]賦值,報這個錯誤CastError: Cast to ObjectId failed for value "undefined" at path "from",求解
2015-02-07
很贊,不能同意更多,建議將這個置頂,避免其他同學踩坑!