How to set default format for routing in Rails?

前端 未结 3 1898
南笙
南笙 2021-01-12 19:20

There is the following code for routing:

  resources :orders, only: [:create], defaults: { format: \'json\' }
  resources :users,  only: [:create, :update],          


        
3条回答
  •  渐次进展
    2021-01-12 20:06

    I'd rather add method to application_controller. And use it as before filter where I want.

    class ApplicationController < ActionController::Base
    ...
    private 
    ...
      def set_default_format
        params[:format] ||= "json"
      end
    end
    
    class UsersController < ApplicationController
      before_filter :set_default_format, only: [:create]
      ...
    end
    

    In this case default format wouldn't a surprise for new developers, because usually routes.rb is big and cumbersome

提交回复
热议问题