Attr_accessor and uploaded files

Hello everyone,

I was having an issue accessing the uploaded file in my model when I
passed it with the params hash like:

def create
@user = User.new(params[:user])
if @user.save
redirect_to( @user )
else
@title = “Sign up”
render ‘new’
end
end

I thought it would work because it worked for :password and :password
confirmation in my model with:

attr_accessor :password, :password_confirmation

Which as I understand gives you setters and getters for the symbols that
are passed. So I added:

attr_accessor :password, :password_confirmation, :uploaded_file

And I got errors saying uploaded_file was a nil class

I got it to work by simply creating a function in my model:

def pass_upload( upload )
@profile_picture = upload
end

And then in my controller:

def create
@user = User.new(params[:user])
@user.pass_upload(params[:user][:profile_picture])
if @user.save
redirect_to( @user )
else
@title = “Sign up”
render ‘new’
end
end

But this does not seem like the best methods I was wondering if any one
knew why attr_accessor wouldn’t allow easy access to the upload_file
class like it did with the more simple variables :password and
:password_confirmation.

Thank you

What gem/library are you using to handle uploaded files?

File uploading isn’t built in to rails, so you’ll need to use something
like
the paperclip gem, if you aren’t already.