Rails 4 - How to render JSON regardless of requested format?

后端 未结 6 1612
青春惊慌失措
青春惊慌失措 2020-12-09 02:53

I\'d like a Rails controller (all of them, actually, it\'s an API) to render JSON always always.

I don\'t want Rails to return \"route not found\", or try and fail t

6条回答
  •  再見小時候
    2020-12-09 03:22

    I tried the above solutions and it didn't solve my use case. In some of the controllers of my Rails 4.2 app, there was no explicit render called. For example, a service object was called and nothing was returned. Since they are json api controllers, rails was complaining with a missing template error. To resolve I added this to our base controller.

      def render(*args)
        options = args.first
        options.present? ? super : super(json: {}, status: :ok)
      end
    

    It's a large app I'm converting to Rails 5, so this is just a safety measure as I removed the RocketPants gem that seemed to do this automatically.

    As a note, my controllers inherit from ActionController::Base

提交回复
热议问题