Rails направляет необязательные параметры, теряющие данные? - PullRequest
0 голосов
/ 02 мая 2018

У меня есть маршрут на RoR 5.1.4:

  get '/search(/:profile_type(/:tag(/:country)))', to: "search#index", as: "search"

Я бы ожидал, что:

[3] pry(main)> app.search_path(country: 'test')
=> "/search?country=test"

но это:

[3] pry(main)> app.search_path(country: 'test')
=> "/search"

Потеря параметра «страна». Я что-то здесь упускаю? Если это баг, он массивный, надеюсь, я ошибаюсь

[4] pry(main)> app.search_path(tag: 'whatever', country: 'test')
=> "/search"
[5] pry(main)> app.search_path(test: 'test')
=> "/search?test=test"
[6] pry(main)> app.search_path(profile_type: 'test1', tag: 'test2', country: 'test3')
=> "/search/test1/test2/test3"
[7] pry(main)> app.search_path(profile_type: 'test1', tag: 'test2', country: 'test3', test: 'test')
=> "/search/test1/test2/test3?test=test"
...