2016-09-01 1 views
1

Mit Rails 4. Aus meiner Sicht nicht vorhanden Attribut, finde ich mich diesen viel zu tun:anzeigen Link, wenn

<% if spot.phone.present? %> 
    <%= shop.phone %> 
<% else %> 
    <%= link_to "Update", edit_shop_path %> 
<% end %> 
<% if spot.email.present? %> 
    <%= shop.email %> 
<% else %> 
    <%= link_to "Update", edit_shop_path %> 
<% end %> 

Der Tag <%= link_to "Update", edit_shop_path %> angezeigt werden soll, wenn das Attribut nicht vorhanden ist. Gibt es einen besseren Weg, dies zu tun?

Antwort

2

ein teilweise machen:

<% if attr.present? %> 
    <%= attr %> 
<% else %> 
    <%= link_to "Update", edit_shop_path %> 
<% end %> 

dann wieder verwendet nur diesen Teil:

<%= render "partial", attr: spot.phone %> 
<%= render "partial", attr: spot.email %> 
0

ternären Operator Versuchen:

<%= spot.phone.present? ? shop.phone : (link_to "Update", edit_shop_path) %> 
Verwandte Themen