Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. :constraints => {:format => /json/}, :defaults => { :format => 'json' }
  2.  
  3. JSON = {:constraints => {:format => /json/}, :defaults => { :format => 'json' }}
  4.  
  5. Example::Application.routes.draw do
  6. namespace :foobar do
  7. resources :apples, JSON
  8. resources :bananas, JSON
  9. # ...
  10. end
  11. end
  12.  
  13. def json_resources(name)
  14. resources name, :constraints => {:format => /json/}, :defaults => { :format => 'json' }
  15. end
  16.  
  17. Example::Application.routes.draw do
  18. namespace :foobar do
  19. json_resources :apples
  20. json_resources :bananas
  21. # ...
  22. end
  23. end
  24.  
  25. # ...
  26.  
  27. Example::Application.routes.draw do
  28. namespace :foobar do
  29. [:apples, :bananas, ...].each{|n|json_resources(n)}
  30. end
  31. end
  32.  
  33. def json_resources(*args)
  34. default_options = { :constraints => {:format => /json/}, :defaults => {:format => 'json'} }
  35. options = args.extract_options!
  36. args << default_options.deep_merge(options)
  37. resources args do
  38. yield if block_given?
  39. end
  40. end
  41.  
  42. Example::Application.routes.draw do
  43. namespace :foobar do
  44. json_resources :apples
  45. json_resources :bananas
  46. # ...
  47. end
  48. end
  49.  
  50. ...actionpack-3.2.6/lib/action_dispatch/routing/route_set.rb:363:
  51. in `add_route': Invalid route name: 'foobar_[:apples {:constraints=>
  52. {:format=>/json/}, :defaults=>{:format=>"json"}}]_index' (ArgumentError)
  53.  
  54. json_resources :apples do
  55. get 'a_custom_action', :on => :member
  56. end
  57.  
  58. def json_resources(name)
  59. resources name, :constraints => {:format => /json/}, :defaults => { :format => 'json' }
  60. end
  61.  
  62. Example::Application.routes.draw do
  63. namespace :foobar do
  64. resources :apples, :constraints => {:format => /json/}, :defaults => { :format => 'json' } do
  65. get 'a_custom_action', :on => :member
  66. end
  67. json_resources :bananas
  68. # ...
  69. end
  70. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement