[RAILS] Renvoyer un modèle partiel (partiel) avec un assistant

Comment retourner un modèle partiel (partiel) avec un assistant

Vous pouvez utiliser une instruction if pour renvoyer des partiels différents pour chaque condition.

Cependant, si vous écrivez une instruction if dans le fichier "html.erb", le code deviendra inévitablement long. Par exemple, comme ça ...

erb:sample.html.erb


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

Dans un tel cas, il sera rafraîchissant de résumer le traitement dans une méthode d'assistance. ⬇︎

users_helper.rb


module UsersHelper

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

end

Si vous utilisez la méthode d'assistance dans la vue,

erb:sample.html.erb


<%= follow_unfollow_button(@user) %>

C'était rafraîchissant en une seule ligne.

Sommaire

Si vous utilisez slim ou haml, l'instruction if sera un peu plus courte, mais dans tous les cas, si la logique est écrite dans la vue, la lisibilité du code sera réduite. J'ai pensé qu'il serait préférable de le mettre en place dans une logique comme si des déclarations, un assistant et un décorateur autant que possible.

Recommended Posts

Renvoyer un modèle partiel (partiel) avec un assistant
[Template] Connexion MySQL avec Java
Branche conditionnelle avec méthode d'assistance
Renvoyer les données vocales avec le webhook api.ai
Modèle Cloud Dataflow créé avec Scala