Ste*_*fan 4 ruby url escaping ruby-on-rails
我试图将IP地址作为参数发送到destroyURL中的Rails方法.如果参数包括.,则存在问题; 我收到not found错误,这是生成的日志:
Started DELETE "/admin/user/stefan-admin/whitelist/4.3.2.1" for 127.0.0.1 at 2013-07-17 09:31:18 +0100
Processing by ErrorsController#error_404 as
Parameters: {"not_found"=>"admin/user/stefan-admin/whitelist/4.3.2"}
WARNING: Can't verify CSRF token authenticity
Session: {:user=>"admin", :role=>:admin, :user_id=>"stefan-admin"}
Completed 404 Not Found in 30ms (Views: 1.1ms | ActiveRecord: 0.0ms)
Run Code Online (Sandbox Code Playgroud)
该not found消息具有截断的IP地址.如果我没有使用参数.,例如abc,我没有得到not found错误,并destroy调用该方法.
Rails收到了url,但随后在内部对其进行了修改,可能是因为它正在处理.作为扩展.有没有办法关闭这种行为或逃避网址,以避免它?
小智 5
您需要在路径中添加约束以允许参数中的点
资源:白名单,:constraints => {:id => /[0-9.]+/}
或者你的routes.rb中的那种东西,它取决于你如何编写你的路线,但约束部分保持不变