URL перехватывается стандартным маршрутом /apps/:id
, я полагаю, у вас также есть resources :apps
в ваших маршрутах?
Просто поместите сначала маршрут покупки:
match '/apps/buy', :controller => 'apps', :action => 'buy'
resources :apps
Помните, что маршруты выполняются в порядке, в котором они определены, поэтому конкретные должны предшествовать общему.
Более простой подход, предложенный @Ryan, заключается в добавлении маршрута к ресурсу:
resources :apps, :collection => { :buy => :get }