Je donne les résultats suivants:Comment créer un chemin GET singulier pour une ressource incluant des aides?
routes.rb
resources :splashes, only: [:index, :create, :destroy]
get '/splash', to: 'splashes#index'
>rake routes | grep splash
splashes GET /splashes(.:format) splashes#index
POST /splashes(.:format) splashes#create
splash DELETE /splashes/:id(.:format) splashes#destroy
GET /splash(.:format) splashes#index
Cependant, lorsque je tente d'utiliser splash_url
, il génère http://localhost:3000/splashes/1
.
J'ai essayé
get '/splash', to: 'splashes#index', as: 'splash'
Mais il a donné
rake routes | grep splash
rake aborted!
ArgumentError: Invalid route name, already in use: 'splash' You may have defined two routes with the same name using the:as
option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created withresources
as explained here: http://guides.rubyonrails.org/routing.html#restricting-the-routes-created
J'ai essayé d'utiliser le resource
singulier, mais il ne génère pas une action #index
, et vous ne pouvez pas supprimer une touche spécifique rangée.
Essayez de changer 'ressources: projections, seulement: [: index, : create,: destroy] 'à' resources: splashes, seulement: [: create,: destroy] ' – Pavan
D'abord, je ne comprends pas l'utilisation d'une * ressource singulière * pour une action' index' qui aura un ** collection de ressources ** – Pavan
@Pavan 1er commentaire: Cela n'a pas créé d'assistant '* _url' pour le chemin GET. 2ème commentaire: C'est une page _splash_, une page _landing_. Les éclaboussures n'ont aucun sens pour les humains ou les spécialistes du marketing, mais c'est ainsi que la table et le contrôleur sont nommés. C'est pour la génération de leads. Aucun enregistrement ne sera affiché. – Chloe