Fala galera!!!
Me encontrei na seguinte situação esses dias:
Desenvolvi um sistema onde teria envio de arquivos para um clientes específico, sendo que para fazer o download do arquivo era necessário o login no sistema,
dai tive um problema, por o arquivo estar na pasta public, qualquer um que soubesse link conseguiria baixar o arquivo digitando diretamente o link no endereço.
para resolver basta colocar o arquivo em outra pasta. Por exemplo:
RAILS_ROOT/files.
dai basta usar no controller
send_file "#{RAILS_ROOT}/files/teste.doc", :disposition => 'attachment'
e é só!!
Abraços.
por:Jhonathas



Muito bom Parabens