ArgumentError (too few arguments): when calling format.json on rails 4.04

juan Isaza picture juan Isaza · May 7, 2014 · Viewed 13k times · Source

When executing

format.json{render json: {}, status: :ok}

in Rails 4.0.4, I get the following error:

ArgumentError (too few arguments):

Although I have another program (with Rails 3.2.13) where the exact same line executes with no problem. am I missing something here?

any gems?

or change in syntax with rails 4?

Answer

Kirti Thorat picture Kirti Thorat · May 7, 2014

Mostly you would get the error ArgumentError (too few arguments): on the format when you forget to call this part of code within the block to respond_to method call.

Your code should actually look like

def action_name
  respond_to do |format|  ## Add this
    format.json { render json: {}, status: :ok}
    format.html 
    ## Other format
  end                    ## Add this
end