app/views/shared/data/community/application_defined/_show.html.erb
<div class="flexbox">
<div class="item item1">
<h2> <%= model_name_title -%></h2>
<div>id: <%= object.id -%></div>
<%= forward_back_links(object) -%> <br>
<%= pin_item_to_pinboard_link(object, sessions_current_user) -%>
<br>
<%= add_alternate_value_link(object: object) -%>
<br>
<%= papertrail_link(object) -%>
</div>
<div class="item item2">
<h2> <%= object_tag(object) -%> </h2>
<%= render object_attributes_partial_path(object.metamorphosize) %>
<%= render partial: '/shared/data/all/show/housekeeping', locals: {object: object} -%>
<%= render(partial: '/shared/data/all/show/soft_validation', locals: {object: object}) if object.class.respond_to?(:soft_validates?) -%>
</div>
<div class="item item3">
<h2> Related data </h2>
<h3> Has many </h3>
<% object.class.reflect_on_all_associations(:has_many).sort { |a, b| a.name <=> b.name }.each do |r| -%>
<%= r.name.to_s.humanize -%>
<% if object.respond_to?(r.name) -%>
<%= object.send(r.name.to_s).count -%>
<% else %>
<mark> requires method rename!</mark>
<% end %>
<br>
<% end %>
<h3> Has one </h3>
<% object.class.reflect_on_all_associations(:has_one).sort { |a, b| a.name <=> b.name }.each do |r| -%>
<%= reflect_on_all_associations -%>
<%= content_tag(:strong, object_tag(object.send(r.name.to_s))) -%>
<br>
<% end %>
<h3> Belongs to </h3>
<% object.class.reflect_on_all_associations(:belongs_to).sort { |a, b| a.name <=> b.name }.each do |r| -%>
<%= r.name.to_s.humanize -%>
<%= content_tag(:strong, object_tag(object.send(r.name.to_s))) -%>
<br>
<% end %>
</div>
</div>