我有以下模式:
get "/sort/*sort_params/filter/*filter_params" => "order#show"
哪个工作正常!链接被正确解析,我收到类似的东西(只是一个例子):
Parameters: {"sort_params" => "price/asc", "filter_params" => "quantity/10"}
但我并不总是需要这两个参数,所以我将这两个部分(排序和过滤器)都设为可选:
get "(/sort/*sort_params)/(filter/*filter_params)" => "order#show"
但在这里我收到以下信息:
Parameters: {"sort_parameters" => "price/asc/filter/quantity/10"}
因此,它没有正确解析最后一部分,并且由于某些原因它排成一行。
如果我删除第二部分周围的括号,如下所示:
get "(/sort/*sort_params)/filter/*filter_params" => "order#show"
然后它完全可以正常工作(当然,除了最后一部分应该存在的事实之外)!
我试过把括号放在不同的地方,但没有运气。有人可以帮我解决这个问题吗?