Таким образом, оба почтовых действия будут работать тогда и только тогда, когда их маршруты размещены раньше других.
Именно так вы должны определить маршруты для работы.Поскольку маршруты, определенные в routes.rb
, будут скомпилированы из сверху вниз .Таким образом, если ваши пользовательские маршруты получат с предшествующим ресурсным маршрутом , тогда пользовательские маршруты будут конфликтовать с вашими ресурсоемкими маршрутами.
Есть ли способ, которым я могу избавиться от приоритета?
Определить их как маршруты сбора примерно так,
resources :sms_sends do
get 'sms_sends/new_all', to: 'sms_sends#new_all', on: :collection
post 'sms_sends', to: 'sms_sends#create_all', on: :collection
end
выше будет генерировать маршруты с помощниками пути, как показано ниже
sms_sends_new_all_sms_sends GET /sms_sends/sms_sends/new_all(.:format) sms_sends#new_all
sms_sends_sms_sends POST /sms_sends/sms_sends(.:format) sms_sends#create_all
Для лучшей читаемости , вы можете изменить свои пользовательские маршруты следующим образом:
resources :sms_sends do
get 'new_all', to: 'sms_sends#new_all', on: :collection
post 'create_all', to: 'sms_sends#create_all', on: :collection
end
Это сгенерируетпомощники пути, как показано ниже
new_all_sms_sends GET /sms_sends/new_all(.:format) sms_sends#new_all
create_all_sms_sends POST /sms_sends/create_all(.:format) sms_sends#create_all