app/views/projects/_form.html.haml
= form_for(setup_metric_configs(@project)) do |f|
- if @project.errors.any?
#error_explanation
%h2 #{pluralize(@project.errors.count, "error")} prohibited this project from being saved:
%ul
- @project.errors.full_messages.each do |message|
%li= message
.field
= f.label :name
%br
= f.text_field :name, :disabled => @readonly
= f.fields_for :configs do |cf|
- name,index = cf.object.metric_name, cf.index
%fieldset{:id => name}
%legend= name.titleize
= hidden_field_tag "project[configs_attributes][#{index}][metric_name]", name
- cf.object.options.each_pair do |key,val|
- field_name = "project[configs_attributes][#{index}][options][#{key}]"
%label{:for => field_name}= "#{key}:"
= text_field_tag field_name, val, :disabled => @readonly
%br
- unless @readonly
= link_to 'Add new', '', :class => 'add'
.field.new
= text_field_tag "project[configs_attributes][#{index}][new][]", '', :id => nil, :class => 'newf'
\ :
= text_field_tag "project[configs_attributes][#{index}][new][]", '', :id => nil, :class => 'newf'
%br
:javascript
$('.add').click(function() { $(this).closest('fieldset').append($('.new')[0].outerHTML); return(false); } )
- unless @readonly
.actions
= f.submit