【发布时间】:2023-04-10 16:00:01
【问题描述】:
我试图获取这样的 URL:
http://myweb/api/1/1/NJUimQw0bsJgv%2FqjfpMzCl5CeeL%2BnCQr61UVLBcJCNA%3D%0A
但是,日志文件显示:
ActionController::RoutingError (No route matches [GET] "/api/1/1/NJUimQw0bsJgv/qjfpMzCl5CeeL+nCQr61UVLBcJCNA=%0A"):
似乎 rails 会自动解码 URI。如何禁用它?
在我的 route.rb 中:
scope '/api' do
get '/:aid/:uid/:token' => 'my_apis#show'
end
我的网站是 rails 4.2.1 并且正在使用 nginx。
【问题讨论】:
-
会不会是您的浏览器修复了网址?
-
所以
aid应该是1,uid应该是1,而token应该是其余的?您是否尝试过在路由中添加一个约束来告诉 Rails 保持对您的斜线的脏手? -
TO user12341234:浏览器也失败了。 TO Hardik:我曾尝试重新启动它,但仍然无法正常工作。什么环境参数可能导致这个问题? to mu太短了:我没有加约束,怎么办?
标签: ruby-on-rails ruby nginx