Ruby on rails Rails路由发送带点和int的字符串

Ruby on rails Rails路由发送带点和int的字符串,ruby-on-rails,routing,Ruby On Rails,Routing,我是rails的新手 我尝试发送这样的字符串:search param:“55.675155,21.833466”和2 as:id param。。。 但有些事情不好 我没有得到路线匹配[get]“/exchanger\u list/get\u exchanger\u via\u coordinates/ 我的路线文件: match 'exchanger_lists/get_exchangers_via_coordinates/:search,:id' => 'exchanger_lis

我是rails的新手

我尝试发送这样的字符串:search param:“55.675155,21.833466”和2 as:id param。。。 但有些事情不好

我没有得到路线匹配[get]“/exchanger\u list/get\u exchanger\u via\u coordinates/

我的路线文件:

  match 'exchanger_lists/get_exchangers_via_coordinates/:search,:id' => 'exchanger_lists#get_exchangers_via_coordinates'
但那个么url在浏览器中又该怎么看呢

如何以Rails的方式做到这一点?我读过doc的,但100%上有些东西不清楚(


如何配置我的路线以及如何从浏览器呼叫?

您可以按如下方式更改路线:

 match 'exchanger_lists/get_exchangers_via_coordinates/:x/:y/:id' => 'exchanger_lists#get_exchangers_via_coordinates'
params[:x]和params[:y]将保存您的坐标。我认为这是比在一个param中保存to坐标更漂亮的代码

match 'exchanger_lists/get_exchangers_via_coordinates/:search,:id' => 'exchanger_lists#get_exchangers_via_coordinates', 
constraints: { search: /[^\/]+/ }

中,是否有交换器列表控制器,其方法是通过坐标获取交换器列表?请尝试用斜杠代替逗号:
:search/:id
我不知道这是个问题,但在URL@juanpastas是的,我有,如果我在url中传递类似交换器列表/通过坐标获取交换器之类的内容,一切正常/535,1但是使用字符串(点,逗号)是不好的。而且你的解决方案也没有帮助。也许这可以帮助你:我需要将它作为一个参数传递!这就是问题所在坐标-一个参数)我从其他移动应用程序中得到这个参数,我没有开发,只是使用了而已。我通过坐标/:搜索/:距离更改为“交换器列表/获取交换器”,一切正常,但当我尝试以浮点形式发送距离(例如0.5)时,有些不好…对距离
约束执行相同的操作:{search:/[^\/]+/,距离:/[^\/]+/}
heh,等等……但是如果我调用json视图,该怎么办呢?如果我编写……json它不理解,可能类似于?距离:/[^\/]+(?=\.html\z\124;\.json\z)/但是当.html默认不被写入时该怎么办呢?如果是空的,那么是html,如果添加了.json,那么是json。你必须在
5.5.json
/[^\/]+?(?!...json)/
中编写一个与
5.5
匹配的regexp。我不理解regexp:p