how is:
<%= ingredient_form.hidden_field :id %>
three arguments?
Because that function is calling some other function and it's that function that is calling some function with the wrong number of arguments (look at the stack trace). Typically this is because some plugin is overriding an internal rails function and the signature of that function has changed since the plugin was written.
Fred