app/views/criteria/_form.html.erb
<%= form_for @criterium, url: criterium_path(@criterium, search_id: @search), method: :patch, remote: true, html: { class: 'form-horizontal', id: "edit_criterium_#{@criterium.id}" } do |f| %>
<% begin %>
<%= render partial: "criteria/forms/#{@criterium.variable.variable_type}", locals: { f: f } %>
<% rescue %>
<div class="form-group">
<label class="control-label"><%= @criterium.variable.variable_type.titleize %></label>
<div class="col-md-10">
<%= f.text_field :value, class: 'form-control' %>
</div>
</div>
<% end %>
<div class="form-group" style="<%= 'display:none' if @criterium.variable.mappings.size < 2 %>">
<%= f.label :mapping_id, "At", class: 'col-md-2 control-label' %>
<div class="col-md-10 sheet-container">
<% @criterium.variable.mappings.sort{ |m1, m2| m1.human_table <=> m2.human_table }.each do |mapping| %>
<label class="radio <%= 'selected' if @criterium.mapping == mapping %>"><%= radio_button_tag "criterium[mapping_id]", mapping.id, @criterium.mapping == mapping %> <%= mapping.human_table %></label>
<% end %>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10 sheet-container">
<label class="checkbox negation <%= 'selected' if @criterium.negated? %>"><%= f.check_box :negated %> Negated</label>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<%= link_to 'Update', '#', class: 'btn btn-success', data: { object: 'submit', target: "#edit_criterium_#{@criterium.id}" } %>
<%= link_to 'Cancel', '#', class: 'btn btn-default', data: { object: 'hide-contour-modal' } %>
<%= link_to 'Remove', criterium_path(@criterium, search_id: @search), method: 'delete', remote: true, class: 'btn btn-danger-inverse' %>
</div>
</div>
<% end %>