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服务器的代理请求抱歉,没有获得什么值?无论如何,这个问题似乎与您原来的问题无关。路径参数值不会出现。有点奇怪的问题。