[RAILS] Teilvorlage (teilweise) mit Helfer zurückgeben

So geben Sie eine Teilvorlage (teilweise) mit einem Helfer zurück

Möglicherweise möchten Sie eine if-Anweisung verwenden, um für jede Bedingung unterschiedliche Partials zurückzugeben.

Wenn Sie jedoch eine if-Anweisung in die Datei "html.erb" schreiben, wird der Code unweigerlich lang. Zum Beispiel so ...

erb:sample.html.erb


<% if A == A %>
 <%= render 'follow_button' %>
<% else %>
 <%= render 'unfollow_button' %>
<% end %>

In einem solchen Fall ist es erfrischend, die Verarbeitung in einer Hilfsmethode zusammenzufassen. ⬇︎

users_helper.rb


module UsersHelper

  def follow_unfollow_button(user)
    if A == A 
     render 'follow_button' 
    else 
     render 'unfollow_button' 
    end 
  end

end

Wenn Sie die Hilfsmethode in der Ansicht verwenden,

erb:sample.html.erb


<%= follow_unfollow_button(@user) %>

Es war in einer Zeile erfrischend.

Zusammenfassung

Wenn Sie slim oder haml verwenden, ist die if-Anweisung etwas kürzer. Wenn jedoch die Logik in die Ansicht geschrieben wird, wird die Lesbarkeit des Codes in jedem Fall verringert. Ich dachte, es wäre besser, es so logisch wie möglich zusammenzustellen, wenn Aussagen, Helfer und Dekorateure.

Recommended Posts

Teilvorlage (teilweise) mit Helfer zurückgeben
[Vorlage] MySQL-Verbindung mit Java
Bedingte Verzweigung mit Hilfsmethode
Sprachdaten mit api.ai Webhook zurückgeben
Mit Scala erstellte Cloud-Datenflussvorlage