我目前使用的序列號,像這樣產生用戶的個人資料頁:檢查是否在西納特拉存在記錄/ DataMapper的
get '/users/:id' do
@user = User.get(params[:id])
end
這個偉大的工程,直到輸入一個數字,沒有在存在數據庫。
我知道如果找不到記錄,我可以將User.get
更改爲User.get!
以返回ObjectNotFoundError
錯誤,但我不確定如何使用它來幫助我。
我以前在使用RoR時使用.exists?
。
有什麼建議嗎?
在此先感謝!
編輯:我不會回答這個問題,因爲我沒有真正找到解決問題的方法。不過,我還是設法通過檢查,看是否解決我自己的問題:輸入的ID比存在於數據庫中,像這樣的用戶量較高:
if params[:id].to_i > User.count
"This user does not exist."
else
@users_id = User.get(params[:id])
erb(:'users/id')
end
只是好奇,因爲你可以拋出一個'ObjectNotFoundError'爲什麼不抓住它並重定向到404找不到頁面? P.S從來沒有嘗試過sinatra,只是軌道 – Hatik