tutorial rails generate ejemplos descargar and ruby-on-rails view download

ruby on rails - generate - Cómo descargar un archivo desde la aplicación Rails.



ruby on rails windows 10 (1)

No use send_file con un parámetro establecido por un usuario. Esto abre un agujero de seguridad masivo, que le permite al usuario acceder a cualquier archivo que pueda leer su aplicación (es decir, su aplicación completa, pero también posiblemente otros archivos en el sistema de archivos).

Por el contrario, si el archivo es público, enlace al archivo en sí. En tu caso:

<%= link_to "Raw blast output", "/data/02_blastout/#{@bl_file}" %>

No hay necesidad de una acción especial del controlador.

¡Parece que no puedo encontrar una respuesta simple y clara a este problema en ninguna parte! ¡Todo parece obsoleto o incompleto!

Solo quiero que el usuario pueda hacer clic en un enlace o botón y descargar un archivo (que se encuentra en algún lugar de la carpeta pública)

Intenté esto:

#view <%= link_to "Raw blast output" ,:action => :download, :file_name => "public/data/02_blastout/#{@bl_file}" %> #controller def download send_file "#{RAILS_ROOT}/#{params[:file_name]}" end

pero me sale este error:

No route matches {:action=>"download", :file_name=>"public/data/02_blastout/input0.fa_x_Glyma1aaunq.bl", :controller=>"cvits"}

¡¡Gracias por la ayuda!!