[RUBY] J'ai résumé les points à noter lors de l'utilisation combinée des ressources et des ressources

L'autre jour, j'ai résumé les différences entre les ressources et les ressources, mais il y avait quelques points à noter lors de leur utilisation en combinaison, alors je les ai résumés. Cliquez ici pour la différence → Différence entre les ressources et les ressources - Qiita

Lors de l'utilisation de ressources en combinaison avec des ressources

En utilisant des ressources en combinaison, vous pouvez facilement générer le routage suivant.

Tout le monde peut afficher la liste de tous les utilisateurs et les détails de chaque utilisateur, mais seuls les siens peuvent modifier les informations utilisateur.

config/routes.rb


  resources :users, only: [:index, :show]
  resource :user, only: [:show, :edit, :update]

En regardant les routes générées par les rails routes, cela ressemble à ce qui suit.

Terminal


   Prefix Verb  URI Pattern          Controller#Action
    users GET   /users(.:format)     users#index
     user GET   /users/:id(.:format) users#show
edit_user GET   /user/edit(.:format) users#edit
          GET   /user(.:format)      users#show
          PATCH /user(.:format)      users#update
          PUT   /user(.:format)      users#update

ʻUser GET / users /: id (.: Format) La partie de users # show`, user_path est assignée à / users /: id, donc la méthode d'assistance qui doit retourner / user n'est pas générée. Alors, j'ai essayé de le décrire dans l'ordre inverse.

config/routes.rb


  resource :user, only: [:show, :edit, :update]
  resources :users, only: [:index, :show]

En regardant les routes générées par les rails routes, cela ressemble à ce qui suit.

Terminal


   Prefix Verb  URI Pattern          Controller#Action
edit_user GET   /user/edit(.:format) users#edit
     user GET   /user(.:format)      users#show
          PATCH /user(.:format)      users#update
          PUT   /user(.:format)      users#update
    users GET   /users(.:format)     users#index
          GET   /users/:id(.:format) users#show

Si l'utilisateur local peut être identifié par la fonction de connexion (gestion de session), il n'est pas nécessaire d'inclure: id dans la requête, de sorte que le routage pour l'utilisateur local utilise "resource".

Afin de voir l'écran des détails des utilisateurs autres que vous-même, il est nécessaire de spécifier l'ID de l'utilisateur cible, ainsi resources génère une route qui inclut: id dans la demande.

Conclusion

Lors de la création d'un routage en combinant «ressource» utilisée au singulier et «ressources» utilisée au pluriel, écrivez la forme singulière «ressource» ci-dessus.

Recommended Posts

J'ai résumé les points à noter lors de l'utilisation combinée des ressources et des ressources
Impossible d'obtenir des ressources lors de l'utilisation de modules avec Gradle et IntelliJ
J'ai trébuché lorsque j'ai essayé d'utiliser neo4j dans l'environnement jenv, alors prenez note
Précautions lors de l'utilisation de Spring AOP avec les classes de ressources Jersery
[jOOQ] Comment utiliser CASE WHEN dans la clause WHERE / AND / OR
Comment résoudre l'erreur inconnue apparue lors de l'utilisation de slf4j en Java
[Rails] J'étais accro aux paramètres nginx lors de l'utilisation d'Action Cable.
Une histoire à laquelle j'étais accro lors du test de l'API à l'aide de MockMVC
J'ai essayé de résumer les points clés de la conception et du développement de gRPC
[Note] Je veux obtenir dans l'ordre inverse en utilisant afterLast avec JdbcTemplate
Je souhaite obtenir l'adresse IP lors de la connexion au Wi-Fi avec Java
Je souhaite afficher un message d'erreur lors de l'inscription dans la base de données
J'ai essayé d'organiser la session en Rails
Lorsque Eclipse ne parvient pas à démarrer le serveur
Comment utiliser le contrôle segmenté et les points à noter
Une note quand je suis accro à l'utilisation de Docker Hub Vault en mode serveur
[JDBC ③] J'ai essayé d'entrer à partir de la méthode principale en utilisant des espaces réservés et des arguments.
Soyez prudent avec les demandes et les réponses lors de l'utilisation de Serverless Framework avec Java
Je veux obtenir la valeur en Ruby
Je souhaite établir une connexion lorsqu'une base de données est créée à l'aide de Spring et MyBatis
N choses à garder à l'esprit lorsque vous lisez «Introduction au printemps» et «Introduction au printemps» à l'ère Reiwa
Je souhaite analyser morphologiquement le journal stocké dans la base de données et le stocker dans la base de données pour classer les messages 1
Comment obtenir le nom de classe de l'argument de LoggerFactory.getLogger lors de l'utilisation de SLF4J en Java
[Swift] Comment afficher les caractères saisis sur le Widget via UserDefaults lors de l'utilisation du WidgetKit
J'étais accro à NoSuchMethodError dans Cloud Endpoints
Je veux intégrer n'importe quel TraceId dans le journal
Tokoro j'ai réécrit dans la migration de Wicket 7 à 8
# 2 [Note] J'ai essayé de calculer quatre-vingt-dix-neuf avec Java.
Je veux juger la gamme en utilisant le diplôme mensuel
Points à garder à l'esprit lors de l'utilisation de l'instruction if
Classes et instances Java comprises dans la figure
J'ai résumé les types et les bases des exceptions Java
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Je veux appeler la méthode principale en utilisant la réflexion
J'ai essayé d'implémenter la méthode de division mutuelle d'Eugrid en Java
Différences de code lors de l'utilisation du système de longueur en Java
Lorsque je suis passé à IntelliJ, il y avait une grande différence dans l'encodage du fichier de propriétés.
En Java, je souhaite couper plusieurs caractères spécifiés uniquement du début et de la fin.
J'ai été piégé lorsque j'ai généré mes propres égaux de classe et hashCode en Java à l'aide de l'IDE
Comment résoudre le problème lorsque la valeur n'est pas envoyée lorsque le formulaire est désactivé dans les rails et envoyé
J'ai eu une erreur lors de l'utilisation de nextInt, nextLine et substring.
Comment tester avec des images lors de l'utilisation d'ActiveStorage et de Faker
Ce à quoi j'étais accro lors de l'introduction de la bibliothèque JNI
Je veux trouver un chemin relatif dans une situation où Path est utilisé
Comment régler chrony lorsque le temps change dans CentOS7
J'ai essayé de résumer les bases de kotlin et java
Je veux amener Tomcat sur le serveur et démarrer l'application
Je veux appeler une méthode et compter le nombre
J'ai essayé JAX-RS et pris note de la procédure
Voici quelques articles auxquels les débutants en programmation se sont référés.
J'ai essayé de construire l'environnement petit à petit en utilisant docker
Contribué à Gradle et a été nommé dans la note de publication