Undefined method `read' for

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

misiek [email protected] 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

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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs