upload_controller.rb 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #---
  2. # Excerpted from "Agile Web Development with Rails",
  3. # published by The Pragmatic Bookshelf.
  4. # Copyrights apply to this code. It may not be used to create training material,
  5. # courses, books, articles, and the like. Contact us if you are in doubt.
  6. # We make no guarantees that this code is fit for any purpose.
  7. # Visit http://www.pragmaticprogrammer.com/titles/rails4 for more book information.
  8. #---
  9. #---
  10. # Excerpted from "Agile Web Development with Rails, 4rd Ed.",
  11. # published by The Pragmatic Bookshelf.
  12. # Copyrights apply to this code. It may not be used to create training material,
  13. # courses, books, articles, and the like. Contact us if you are in doubt.
  14. # We make no guarantees that this code is fit for any purpose.
  15. # Visit http://www.pragmaticprogrammer.com/titles/rails4 for more book information.
  16. #---
  17. class UploadController < ApplicationController
  18. def get
  19. @picture = Picture.new
  20. end
  21. # . . .
  22. def save
  23. @picture = Picture.new(params[:picture])
  24. if @picture.save
  25. redirect_to(:action => 'show', :id => @picture.id)
  26. else
  27. render(:action => :get)
  28. end
  29. end
  30. def show
  31. @picture = Picture.find(params[:id])
  32. end
  33. def picture
  34. @picture = Picture.find(params[:id])
  35. send_data(@picture.data,
  36. :filename => @picture.name,
  37. :type => @picture.content_type,
  38. :disposition => "inline")
  39. end
  40. end