<%- index ||= "INDEX" new_or_existing = deliverable_cost.new_record? ? 'new' : 'existing' id_or_index = deliverable_cost.new_record? ? index : deliverable_cost.id prefix = "deliverable[#{new_or_existing}_deliverable_cost_attributes][]" id_prefix = "deliverable_#{new_or_existing}_deliverable_cost_attributes_#{id_or_index}" @deliverable_cost = deliverable_cost error_messages = error_messages_for 'deliverable_cost' -%> <% unless error_messages.blank? %><%= error_messages %><% end %> <% fields_for prefix, deliverable_cost do |cost_form| %> <%= cost_form.text_field :units, :index => id_or_index, :size => 3 %> "> <%=h deliverable_cost.cost_type.unit_plural %> <%= cost_form.select :cost_type_id, cost_types_collection_for_select_options, {}, {:index => id_or_index} %> <%= cost_form.hidden_field :rate_id, :index => id_or_index %> <%= observe_field( "#{id_prefix}_cost_type_id", :url => {:action => :update_deliverable_cost}, :with => "'cost_type_id=' + encodeURIComponent(value) + '&units=' + encodeURIComponent(document.getElementById('#{id_prefix}_units').value) + '&element_id=#{id_prefix}'") %> <%= observe_field( "#{id_prefix}_units", :frequency => 1, :url => {:action => :update_deliverable_cost}, :with => "'cost_type_id=' + encodeURIComponent(document.getElementById('#{id_prefix}_cost_type_id').value) + '&units=' + encodeURIComponent(value) + '&element_id=#{id_prefix}'") %> <% if User.current.allowed_to?(:view_unit_price, @project)%> "><%= number_to_currency(deliverable_cost.costs) %> <% end %> <%= image_to_function 'delete.png', "deleteDeliverableCost('#{id_prefix}')" %> <% end %>