application_controller.rb 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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 ApplicationController < ActionController::Base
  18. before_filter :authorize
  19. protect_from_forgery
  20. private
  21. def current_cart
  22. Cart.find(session[:cart_id])
  23. rescue ActiveRecord::RecordNotFound
  24. cart = Cart.create
  25. session[:cart_id] = cart.id
  26. cart
  27. end
  28. # ...
  29. protected
  30. def authorize
  31. unless User.find_by_id(session[:user_id])
  32. redirect_to login_url, :notice => "Please log in"
  33. end
  34. end
  35. end