加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 在Sinatra中触发另一个带有查询字符串的路由

发布时间:2020-12-17 02:16:58 所属栏目:百科 来源:网络整理
导读:我正在写一条路线将几条路线的响应捆绑在一起,所以我需要从Sinatra内部触发其他路线.我在Sinatra README中发现了这样的代码: status,headers,body = call env.merge("PATH_INFO" = '/bar') 但是,它不会发送查询字符串.所以我尝试了这个: status,body = cal
我正在写一条路线将几条路线的响应捆绑在一起,所以我需要从Sinatra内部触发其他路线.我在Sinatra README中发现了这样的代码:

status,headers,body = call env.merge("PATH_INFO" => '/bar')

但是,它不会发送查询字符串.所以我尝试了这个:

status,body = call env.merge(
    "PATH_INFO" => '/bar',"QUERY_STRING" => 'param=1'
)

这似乎不起作用.如何调用另一个路由并传递查询字符串,以使字符串中的值最终出现在被调用路由的params散列中.

我们使用的是Sinatra 1.3.1和Rack 1.3.5.

解决方法

因此解决方案是清除@original_params变量.显然,即使它出现在Sinatra README中,也不支持.时间允许我重新修改我的路线所以这不是必需的,但是你有.

@original_params = nil
status,"QUERY_STRING" => 'param=1'
)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读