Na documentação está:
u = User.new
u.avatar = params[:file] # Assign a file like this, or
# like this
File.open('somewhere') do |f|
u.avatar = f
end
Porém se vc passa:
u = User.new(params)Se nos params já tiver o file, então ele já vai ser passado no construtor.
Se fizer:
u.avatar = params[:file]
Pode salvar algo por cima, no meu caso estava salvando nil (null). E estava me causando problemas e até descobrir isso demorou.
Pode ser um erro de iniciante, mas acho válido deixar compartilhado caso alguém mais tenha esse problema.