[RUBY] Auslassen der iterativen Verarbeitung mithilfe der Erfassungsoption von render

Betriebsumgebung Ruby 2.6.5 Rails 6.0.3.2

Ich habe gelernt, dass Sie eine Teilvorlage, die vom Rendern aufgerufen wird, weglassen können, wenn Sie die Sammlung verwenden, also habe ich sie veröffentlicht.

Wenn Sie die Sammlung nicht verwenden

ruby:index.html.erb


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

Der obige Code ruft die Teilvorlage huga auf, übergibt eine Variable namens hoge und wiederholt den Vorgang. Mal sehen, was passiert, wenn wir die Sammlung verwenden.

Bei Verwendung der Sammlung

ruby:index.html.erb


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

Dieser Code hat genau die gleiche Bedeutung ** wie der vorherige Code. Sie werden feststellen, dass das Schreiben sehr einfach ist, da Sie nur eine Zeile mit drei Codezeilen benötigen. Bitte beachten Sie, dass beim Schreiben von @hoge oder @hoges in die Teilvorlage huga ein Fehler auftritt. @Hoges nach der Erfassung ist die vom Controller empfangene Instanzvariable. Tatsächlich sind die Variablen, die Sie an die Teilvorlage übergeben, die gleichen wie der obige Code. Seien Sie also vorsichtig.

Plötzlich kam eine Sammlung mit der Renderoption heraus und ich war verwirrt, also hoffe ich, dass dieser Artikel hilft.

Recommended Posts

Auslassen der iterativen Verarbeitung mithilfe der Erfassungsoption von render
Ruby iterativer Prozess
Java iterativer Prozess