resource
और resources
तरीकोंअंतर
यहाँ के बीच तार्किक क्या अंतर है कुछ उदाहरण है:
resource :orders, :only => [:index, :create, :show]
> rake routes
orders POST /orders(.:format) orders#create
GET /orders(.:format) orders#show
resources :orders, :only => [:index, :create, :show]
> rake routes
orders GET /orders(.:format) orders#index
POST /orders(.:format) orders#create
order GET /orders/:id(.:format) orders#show
resource :orders
> rake routes
orders POST /orders(.:format) orders#create
new_orders GET /orders/new(.:format) orders#new
edit_orders GET /orders/edit(.:format) orders#edit
GET /orders(.:format) orders#show
PUT /orders(.:format) orders#update
DELETE /orders(.:format) orders#destroy
resources :orders
> rake routes
orders GET /orders(.:format) orders#index
POST /orders(.:format) orders#create
new_order GET /orders/new(.:format) orders#new
edit_order GET /orders/:id/edit(.:format) orders#edit
order GET /orders/:id(.:format) orders#show
PUT /orders/:id(.:format) orders#update
DELETE /orders/:id(.:format) orders#destroy
यह में विधि resource
index
के लिए मार्ग का निर्माण नहीं करता है, और सहायकों की तरह दिखता है कुछ मामले अलग हैं (new_order और new_orders)। क्यूं कर?
मुझे लगता है कि आपका मतलब है 'संसाधन: ऑर्डर, केवल ...' – mmcrae
"हेल्पर्स को भी अलग होना चाहिए": इसका मतलब है कि आपको 'संसाधन' के लिए 'new_order_path' और' new_orders_path' 'संसाधन के लिए मिलता है '। – Adobe
मुख्य अंतर सिर्फ सूचकांक पृष्ठ नहीं है। - ** संसाधन ** इंडेक्स पेज के साथ मार्ग बनाएंगे और इसके लिए भी आवश्यकता होगी: क्रिया पैरामीटर को संपादित, अपडेट, नष्ट और दिखाने के लिए आईडी पैरामीटर ([चेक] http://guides.rubyonrails.org/routing.html#specifying -ए-कंट्रोलर-टू-यूज) - ** संसाधन ** इंडेक्स रूट के बिना समान रूट बनाएगा और बिना आवश्यक: आईडी param। ([जांचें] http://guides.rubyonrails.org/routing.html#singular-resources) – stopanko