Undefined method `read' for


#1

I got an error undefined method `read’ for, why ?

this is what I am doing

@user = “new_image”
File.open("#{RAILS_ROOT}/public/images/#{@user}.jpg", “wb”) do |f|
f.write(@params[‘image_file’].read)
end

thanks


#2

misiek removed_email_address@domain.invalid writes:

I got an error undefined method `read’ for, why ?

this is what I am doing

@user = “new_image”
File.open("#{RAILS_ROOT}/public/images/#{@user}.jpg", “wb”) do |f|
f.write(@params[‘image_file’].read)
end

I’m guessing that whatever @params[‘image_file’] is doesn’t have a read
method.
If it’s just a filename, for instance, you have to open it and call read
on the File object, e.g.

File.open("#{RAILS_ROOT}/public/images/#{@user}.jpg", “wb”) do
|f|
f.write(File.open(@params[‘image_file’]).read)
end


#3

I’m guessing that whatever @params[‘image_file’] is doesn’t have a read method.
If it’s just a filename, for instance, you have to open it and call read
on the File object, e.g.

File.open("#{RAILS_ROOT}/public/images/#{@user}.jpg", “wb”) do
|f|
f.write(File.open(@params[‘image_file’]).read)
end

works better but still have error

can’t convert Array into String