Qual è la differenza logica tra resource
e resources
metodidifferenza tra i metodi di risorse e di risorse
Ecco alcuni esempi:
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
Sembra metodo resource
non crea percorso per index
, e aiutanti in alcuni casi sono diversi (new_order e new_orders). Perché?
Penso che intendiate la prima riga per dire 'risorsa: ordini,: solo ...' – mmcrae
"Gli helper dovrebbero differire anche loro": significa che si ottiene 'new_order_path' per' resources' e 'new_orders_path' per' resource '. – Adobe
La differenza principale non è solo la pagina indice. - ** risorse ** creerà percorsi con la pagina indice e richiederà anche: parametro id per modificare, aggiornare, distruggere e mostrare azioni ([Controlla] http://guides.rubyonrails.org/routing.html#specifying -a-controller-to-use) - ** risorsa ** creerà gli stessi percorsi senza indicizzazione e senza richiesta: id param. ([Controlla] http://guides.rubyonrails.org/routing.html#singular-resources) – stopanko