[RUBY] L'identité des paramètres de rails [: id]

Les données que vous recevez lors de la définition d'actions dans les rails

params[:id]

Je l'ai souvent exprimé comme, mais je n'en comprenais pas le sens, alors j'ai pris une note. J'espère que cela sera utile pour ceux qui souffrent de problèmes similaires.

Prérequis

Par exemple, supposons que vous souhaitiez implémenter une fonction pour vérifier les détails d'une publication sur l'écran qui affiche la publication comme ceci. <img width = "798" alt = "Myblog.png " src = "https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652172/60c1bb16-5d35-51f3-9bdf" -ec24eb3273ee.png "> Puisque l'action à afficher en détail est une action show, il semble bon de définir une action show dans le contrôleur et de préparer une vue correspondante.

Afficher les paramètres d'action

Je pense que les actions de spectacle sont souvent exprimées comme suit sur de nombreux sites d'apprentissage de rails.

  def show
    @post = Post.find(params[:id])
  end

Cela peut être décomposé comme suit, et chacun a les significations suivantes. Post… Post modèle. Publier des données stockées dans la base de données find… Comment obtenir en spécifiant celui qui correspond à la condition du modèle Post params [: id]:… Conditions pour les données récupérées par find params… Données qui restent lorsque vous ouvrez l'URL d'un tweet spécifique : id… id associé au tweet

En d'autres termes, cela signifie que les données correspondant à l'identifiant de la publication à laquelle l'utilisateur tente d'accéder seront extraites du modèle de publication.

@ post… Attribuez ce qui précède à une variable d'instance afin qu'elle puisse être utilisée avec des données externes (ou une vue)

Ainsi, en l'affectant à une variable d'instance, il peut être affiché dans le fichier de vue.

Quand je vérifie le routage

post GET    /posts/:id(.:format)              posts#show

Le chemin de routage qui correspond à l'action show du contrôleur posts est post /: id. Puisque ceci: id correspond au message ici, je veux afficher le message avec le même identifiant dans la vue appelée par l'action show. Ainsi, l'action show définit @post et la charge dans la vue comme décrit ci-dessus.

Recommended Posts

L'identité des paramètres de rails [: id]
[Order method] Définit l'ordre des données dans Rails
Le problème que le contenu des paramètres est complètement affiché dans la vue [Rails]
SSL dans l'environnement local de Docker / Rails / puma
(Ruby on Rails6) Affichage de la base de données qui a obtenu l'identifiant de la base de données
[Rails] Où faire attention dans la description de la validation
[Rails] Vérifiez le contenu de l'objet
À propos du symbole <%%> dans Rails erb
Explication de l'ordre des itinéraires ferroviaires
Vérifier l'état de migration des rails
Obtenez l'ID de la numérotation automatique
Ordre de traitement dans le programme
Comment obtenir l'identifiant de la clé PRIMAY incrémentée automatiquement dans MyBatis
Cliquez sur l'image dans le champ file_field de Rails pour télécharger et remplacer l'aperçu
Obtenez le résultat de POST en Java
Vérifiez le contenu des paramètres avec le levier
[rails] Liste des actions définies dans Controller
Histoire de refactoring de rails apprise sur le terrain
[Rails] Changer le nom de l'étiquette de f.label
L'histoire de l'écriture de Java dans Emacs
[Rails] Réinitialisez la base de données dans l'environnement de production
Rails6: Extraire l'image dans le texte d'action
Ecrire le mouvement de Rakefile dans le runbook
[Rails] Différence de comportement entre delegate et has_many-through dans le cas de one-to-one-to-many
[Rails] Concernant la présence ou l'absence de parenthèses dans l'argument de la méthode de rendu
[Rails] La cause de l'impossibilité de publier des messages était form_with
Modifiez la destination d'enregistrement de l'image en S3 dans l'application Rails. Partie 2
Décomposer l'installation de "$ printf": --no-document \ nupdate: --no-document \ n ">> ~ / .gemrc" dans le chapitre 1 du didacticiel Rails
L'histoire de la comparaison de chaînes de bas niveau en Java
[Java] Gestion des Java Beans dans la chaîne de méthodes
Bouton [Rails] pour revenir en haut de la page
L'histoire de la fabrication d'un Othello ordinaire à Java
[Ruby on Rails] Jusqu'à l'introduction de RSpec
À propos de l'idée des classes anonymes en Java
J'ai essayé d'organiser la session en Rails
Comment obtenir l'ID d'un utilisateur qui s'est authentifié avec Firebase dans Swift
L'histoire de l'apprentissage de Java dans la première programmation
Mesurer la taille d'un dossier avec Java
Recommandation de classe de service dans Ruby on Rails
[Rails] Afficher les catégories à plusieurs niveaux dans la liste des rebuts
Ressentez le passage du temps même à Java
Group_by dans Rails
[Rails] Mise en œuvre de "notifier la notification d'une manière ou d'une autre"
[Java] Est-il inutile de vérifier "l'identité" dans l'implémentation de la méthode equals ()?
Comment utiliser JQuery dans Rails 6 js.erb
Comment créer une combinaison unique de données dans la table intermédiaire des rails
Valider le jeton d'ID d'un utilisateur authentifié par AWS Cognito en Java
Importer des fichiers de la même hiérarchie en Java
Comment vérifier les commandes Rails dans le terminal
[Rails] Classement et pagination par J'aime
Comment installer Docker dans l'environnement local d'une application Rails existante [Rails 6 / MySQL 8]
Pour ceux qui souhaitent utiliser MySQL pour la base de données dans la construction de l'environnement de Rails6 ~.
Installez plusieurs boutons de soumission dans la vue Rails pour obtenir la valeur du bouton enfoncé
[Rails] Je souhaite afficher la destination du lien de link_to dans un onglet séparé