[RUBY] Omettre le traitement itératif à l'aide de l'option de collection du rendu

Environnement d'exploitation Ruby 2.6.5 Rails 6.0.3.2

J'ai appris que si vous utilisez une collection pour parcourir un modèle partiel appelé par render, vous pouvez l'omettre, alors je l'ai publié.

Lorsque vous n'utilisez pas la collection

ruby:index.html.erb


<% @hoges.each do |hoge| %>
  <%= render partial: "huga", locals: {hoge: hoge} %>
<% end %>

Le code ci-dessus appelle le modèle partiel huga, y transmet une variable appelée hoge et répète le processus. Voyons ce qui se passe lorsque nous utilisons la collection.

Lors de l'utilisation de la collection

ruby:index.html.erb


<%= render partial: "huga", collection: @hoges %>

Ce code a exactement la même signification ** que le code précédent. Vous constaterez que c'est très facile à écrire car vous n'avez besoin que d'une ligne de trois lignes de code. Veuillez noter que si vous écrivez @hoge ou @hoges dans le modèle partiel huga, une erreur se produira. @Hoges après collecte est la variable d'instance reçue du contrôleur. En fait, les variables que vous passez au modèle partiel sont les mêmes que le code ci-dessus, alors soyez prudent.

Soudainement, une collection est sortie avec l'option de rendu et j'ai été confus, alors j'espère que cet article vous aidera.

Recommended Posts

Omettre le traitement itératif à l'aide de l'option de collection du rendu
Processus itératif Ruby
traitement itératif java