这是我的路线
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' }
但这不起作用
答案 0 :(得分:0)
请参阅文档: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 因为默认情况下格式是可选的。但是,您可以使用 lambda像在get'foo'中一样,约束:lambda {| req | req.format == :json},并且路由将仅匹配显式的JSON请求。