我一直在Skillcrush做一个Ruby课程(仍然非常业余)并且遇到了我的代码无效的课程的一部分。
该应用程序使用Sinatra,并且应该在转到views/people/index.erb
时显示localhost:9292/people
,但它会转到错误页面,当{{1}之后给出错误的扩展名时它应该出现(通常是日期格式,但如果输入任何其他内容,则应该带来错误)。
我不得不在计算机中途切换计算机,所以感觉可能与我的设置有关。我已经使用了他们提供的代码并使用localhost:9292/
检查了差异,并且只能在我的diff --brief -r dir1/ dir2/
文件中看到一些代码。我使用的是Ruby 2.4,因为2.0之前版本的Ruby存在问题,并且想知道是否会出现这种情况?
我的代码可以看到here。
任何人都可以看到任何明显的问题吗?
答案 0 :(得分:2)
我相信正在发生的事情是Sinatra将您的网址localhost:9292/people
与您的索引控制器get '/:birthdate'
的第一条路线匹配,而不是get '/people'
。 Sinatra接受请求,然后按顺序检查每个路由,第一个匹配然后处理请求。
测试一下:
get '/:birthdate'
更改为get '/birthdate/:birthdate'
(如果有效,则必须更改生日的任何链接)。或
或