Маршруты просто должны быть уникальными, а символ является значением в паре имя-значение
match '/item/:item_id' => 'controller#action'
then get the item_id from params[:item_id]
Выше сказано как example.com?item=1, используя 1 в качестве примера item_id
так сказать как
match '/item/:category/:item_id' => 'controller#action'
example.com / товар / foo_category / bar_item
params[:category] = foo_category
params[:item_id] = bar_item
, но вы не можете иметь 2 маршрута, таких как
match '/item/:category' => 'controller#action'
match '/item/:item_id' => 'controller#action'
потому что rails просто видит его как / item / x и, вероятно, сопоставит его с первым соответствием в маршрутах
Надеюсь, это поможет.