Ruby on rails 在rails中作为json发送时,路径参数不起作用

Ruby on rails 在rails中作为json发送时,路径参数不起作用,ruby-on-rails,ruby,json,rest,routes,Ruby On Rails,Ruby,Json,Rest,Routes,在路线上我有这样的东西 match '/*parent/:term/' => "parent#match" , localhost:3000/women/jeans 例如,当我在服务器中点击这个url时,它是这样来的 match '/*parent/:term/' => "parent#match" , localhost:3000/women/jeans 当我点击html请求时的日志 Parameters: {"parent"=> "women", "term

在路线上我有这样的东西

  match '/*parent/:term/' => "parent#match" ,
localhost:3000/women/jeans
例如,当我在服务器中点击这个url时,它是这样来的

  match '/*parent/:term/' => "parent#match" ,
localhost:3000/women/jeans
当我点击html请求时的日志

Parameters: {"parent"=> "women", "term"=>"jeans"}
点击json请求时的日志(
localhost:3000/women/jeans.json


我不知道为什么当我作为json发送时父参数为空

在您的
匹配
之前是否有其他可能匹配您的URL的路由

我刚试过这个,一切看起来都很好:

# routes.rb
match '/*parent/:term/' => 'parent#match', via: :get

# Generates:
  GET    /*parent/:term(.:format)                      parent#match

# http://localhost:3000/women/jeans
{"parent"=>"women", "term"=>"jeans"}

# http://localhost:3000/women/jeans.json
{"parent"=>"women", "term"=>"jeans", "format"=>"json"}

看起来问题出在其他地方。

很长时间,但尝试将
匹配'/*parent/:term/'
更改为
匹配'/*parent/:term'
,不带尾随斜杠。我怀疑这是不同的原因,而不是您是否使用ajax。您也可以在浏览器地址栏中使用.json。在控制台上执行
rake routes
,查看它是否为
.format
案例生成了路由:
:resources
方法执行此操作,但我不知道
匹配方法是否执行。@MaxWilliams没有其他路由与此匹配。Thq问题更多的是您设置的路由是否匹配,而且添加.format可能会中断it@Uzebekjon值是来自wap服务器的代理请求抱歉,没有获得什么值?无论如何,这个问题似乎与您原来的问题无关。路径参数值不会出现。有点奇怪的问题。