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.
En l'état, c'est une tâche de trouver des doublons.
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
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>
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