[RUBY] [rails] Comment créer un modèle partiel

Qu'est-ce qu'un modèle partiel?

Un «modèle partiel» est un fichier View qui peut être utilisé en commun sur plusieurs pages. En combinant le code qui est dupliqué dans plusieurs fichiers en un seul fichier, vous n'avez qu'à le modifier à un seul endroit au moment de la modification, et la description du code est réduite et la lisibilité est améliorée.

La procédure est à peu près comme ça.

  1. Trouvez les pièces qui peuvent être partagées
  2. Créez un fichier modèle partiel
  3. Décrivez la partie commune dans le fichier modèle partiel
  4. Appelez le fichier de modèle partiel

1. Trouvez les pièces qui peuvent être partagées

En l'état, c'est une tâche de trouver des doublons.

2. Créez un fichier modèle partiel

Un fichier erb avec un trait de soulignement (_) au début du nom de fichier est reconnu comme un fichier modèle partiel. Cette fois, nous examinerons la fonction de publication comme un modèle partiel. app/views/books/_newform.html.erb

3. Décrivez la partie commune dans le fichier modèle partiel

Découpez la partie commune et collez-la dans le fichier. Fondamentalement, les fichiers de modèle partiels utilisent des variables locales (celles sans @). En effet, si vous utilisez une variable d'instance (celle avec @) dans le fichier de modèle partiel, lorsque vous modifiez le nom ou le comportement de la variable d'instance côté contrôleur, vous devez également changer le côté modèle partiel.

app/views/books/_newform.html.erb


<%= form_for(book) do |f| %>
	<div class="field row">
		<%= f.label :title %><br>
		<%= f.text_field :title, class: "col-xs-3 book_title" %>
	</div>
	<p></p>

	<div class="field row">
		<%= f.label :body %><br>
		<%= f.text_area :body, class: "col-xs-3 book_body" %>
	</div>

	<div class="actions row">
		<%= f.submit class: "btn btn-primary col-xs-3" %>
	</div>
<% end %>
</div>

4. Appelez le fichier de modèle partiel

La façon d'écrire lors de l'appel est la suivante. Lors de l'appel, omettez le trait de soulignement du modèle partiel.

<%= render [Spécification d'un fichier de modèle partiel], [Variables locales]:[Valeur à passer] %>

app/views/books/index.html.erb


<%= render 'books/newform', book: @book %>

Recommended Posts

[rails] Comment créer un modèle partiel
[Rails] Comment créer un graphique à l'aide de lazy_high_charts
Comment créer facilement un pull-down avec des rails
[Rails] Comment créer un bouton de partage Twitter
Comment créer une méthode
Préparation à la création de l'application Rails
Comment insérer une vidéo dans Rails
Comment créer un référentiel Maven pour 2020
[Swift5] Comment créer un écran de démarrage
[Rails 6] Comment créer un écran de saisie de formulaire dynamique à l'aide de cocoon
Comment écrire des rails
Comment désinstaller Rails
Comment créer docker-compose
Rails: comment bien écrire une tâche de râteau
Comment créer une base de données H2 n'importe où
[Rails] Comment écrire lors de la création d'une sous-requête
[Rails] rails nouveau pour créer une base de données avec PostgreSQL
Comment créer des pages pour le tableau "kaminari"
Comment créer une classe qui hérite des informations de classe
Comment créer un thème dans Liferay 7 / DXP
[1st] Comment créer un projet de framework Spring-MVC
Comment implémenter une fonctionnalité similaire dans Rails
Rails6.0 ~ Comment créer un environnement de développement respectueux de l'environnement
Comment créer une requête à l'aide de variables dans GraphQL [Utilisation de Ruby on Rails]
[Docker] Comment créer un environnement virtuel pour les applications Rails et Nuxt.js
[Rails] Comment créer une table, ajouter une colonne et changer le type de colonne
[rails] Comment publier des images
[Introduction] Créer une application Ruby on Rails
Comment créer un environnement Java en seulement 3 secondes
[Rails] Comment utiliser enum
[Rails] Comment utiliser enum
Comment laisser un commentaire
Comment créer un projet Spring Boot dans IntelliJ
Comment lire les itinéraires des rails
[Spring Boot] Comment créer un projet (pour les débutants)
Comment créer un URI de données (base64) en Java
Comment utiliser la jonction de rails
[Comment insérer une vidéo dans un hameau avec Rails]
Comment écrire une recherche de comparaison de dates dans Rails
Comment terminer le serveur de rails
Comment créer un formulaire Excel à l'aide d'un fichier modèle avec Spring MVC
Comment écrire des graines de Rails
[Rails] Comment utiliser la validation
[Rails 6] Comment définir une image d'arrière-plan dans Rails [CSS]
[Rails] Comment désactiver les turbolinks
[Rails] Comment utiliser authenticate_user!
[Rails] Comment mettre en œuvre le scraping
[Rails] Comment faire des graines
Comment écrire le routage Rails
[Rails] Comment charger JavaScript dans une vue spécifique
[Rails] Comment installer simple_calendar
(Ruby on Rails6) Comment créer un modèle et une table
[Rails] Comment installer reCAPTCHA