Как добавить json по умолчанию к стандартному маршруту ресурсов Rails? - PullRequest
0 голосов
/ 26 апреля 2019

вот мой маршрут

resources :content_elements, only: [:destroy, :edit, :update], controller: 'contents/content_elements' do
   put :reposition, :on => :member, :defaults => { format: 'json' }
   get :list_images, on: :member
   post :send_image, :on => :member
end

Я хочу добавить json как маршрут по умолчанию только для уничтожения.

Я пытаюсь с

  :destroy, :on => :member, :defaults => { format: 'json' }

Но это не такт работа

1 Ответ

0 голосов
/ 26 апреля 2019

См. Документ: https://guides.rubyonrails.org/v5.2/routing.html

resources :content_elements, only: [] do 
   delete :destroy, on: :member, constraints: { format: :json }
end 

Существует ограничение для ограничения формата: хотя это метод объекта Request, он также является неявным необязательным параметром для каждого пути.Ограничения сегмента имеют приоритет, и ограничение формата применяется как таковое, только когда применяется через хеш.

Например,

get 'foo', ограничения: {format:'json'} будет соответствовать GET / foo, потому что формат является необязательным по умолчанию.Однако вы можете использовать лямбду, как в get 'foo', ограничения: lambda {| req |req.format ==: json}, и маршрут будет соответствовать только явным запросам JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...