chênh lệch hợp lý giữa resource
và resources
phương phápkhác biệt giữa các phương pháp tài nguyên và các nguồn lực
Dưới đây là gì là một số ví dụ:
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
Dường như phương pháp resource
không tạo ra con đường cho index
, và những người giúp đỡ trong một số trường hợp khác nhau (new_order và new_orders). Tại sao?
tôi nghĩ rằng bạn có nghĩa là dòng đầu tiên nói 'tài nguyên: đơn đặt hàng,: chỉ ... ' – mmcrae
" Người trợ giúp cũng nên khác ": có nghĩa là bạn nhận được' new_order_path' cho 'resources' và' new_orders_path' cho 'tài nguyên '. – Adobe
Sự khác biệt chính không chỉ là trang chỉ mục. - ** tài nguyên ** sẽ tạo các tuyến với trang chỉ mục và cũng sẽ yêu cầu: thông số id để chỉnh sửa, cập nhật, hủy và hiển thị các hành động ([Kiểm tra] http://guides.rubyonrails.org/routing.html#specifying -a-controller-to-use) - ** tài nguyên ** sẽ tạo các tuyến đường tương tự mà không có chỉ mục tuyến đường và không yêu cầu: id param. ([Kiểm tra] http://guides.rubyonrails.org/routing.html#singular-resources) – stopanko