Form_for with :multipart => true spits out
It should be like this:
form_for @user, :html => { :multipart => true } do |f|
The parenthesis in form_for(@user)
is actually telling Ruby interpreter the function is invoked with only one parameter, and you can't pass wrong number of arguments in a method in Ruby.
http://guides.rubyonrails.org/form_helpers.html#uploading-files
It's either a form_tag
helper with multipart => true
or just form_for
<%= form_tag({:action => :upload}, :multipart => true) do %> <%= file_field_tag 'picture' %><% end %><%= form_for @person do |f| %> <%= f.file_field :picture %><% end %>
I'm assuming that you're either using 'paperclip' or ''carrierwave' to upload images. So, try this:
<%= form_for @user, : url => users_path, :html => {:multipart => true} do |f| %>