sanger/sequencescape

View on GitHub
app/views/shared/metadata/edit/_request.html.erb

Summary

Maintainability
Test Coverage

<%# NOTE[xxx]: Kind of a hack because we need 'request[request_metadata_attributes][X]' -%>
<%= fields_for(:request, request) do |form| %>
  <%= form.fields_for(:request_metadata, request.request_metadata, builder: Metadata::FormBuilder) do |metadata_fields| %>
    <%- request.request_metadata.field_infos.each do |field_info| %>
      <!-- todo unify with how submission use field info-->
      <%- if field_info.selection %>
        <%= metadata_fields.select(field_info.key, field_info.selection, { prompt: "Select a #{field_info.key.to_s.gsub( '_', ' ')}"  }) %>
      <%- elsif field_info.kind == FieldInfo::BOOLEAN %>
        <%= metadata_fields.check_box(field_info.key) %>
      <%- elsif field_info.kind == FieldInfo::NUMERIC %>
        <%= metadata_fields.number_field(field_info.key,field_info.parameters) %>
      <%- else %>
        <%= metadata_fields.text_field(field_info.key) %>
      <%- end %>
    <% end %>
  <% end %>
<% end %>