我目前使用的序列号,像这样产生用户的个人资料页:检查是否在西纳特拉存在记录/ 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