= form_for(@project, :remote => true) do |f| %div.form_content - unless @project.new_record? %h1 Edit Project - 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 |msg| %li= msg %table.round-borders %tr %td= f.label :name %td= f.text_field :name, :placeholder => "Example Project" %tr %td .left= f.label :path %cite.right git@yourserver: %td = f.text_field :path, :placeholder => "example_project", :disabled => !@project.new_record? %tr %td .left= f.label :code %cite.right http://yourserver/ %td= f.text_field :code, :placeholder => "example" %tr %td= f.label :tag_list %td= f.text_area :tag_list, :placeholder => "project tags", :style => "height:50px", :id => :tag_field .field = f.label :description %br/ = f.text_area :description, :style => "height:140px;width:932px;" .clear %hr.prepend-top .actions = f.submit :class => "lbutton vm" %div{ :class => "ajax_loader", :style => "display:none;height:200px;"} %center = image_tag "ajax-loader.gif", :class => "append-bottom" - if @project.new_record? %h3.prepend-top Creating project & repository. Please wait for few minutes - else %h3.prepend-top Updating project & repository. Please wait for few minutes :javascript $('.new_project, .edit_project').bind('ajax:before', function() { $(this).find(".form_content").hide(); $('.ajax_loader').show(); }); :javascript $(function(){ var tag_field = $('#tag_field').tagify(); tag_field.tagify('inputField').autocomplete({ source: '/tags/autocomplete.json', position: { of: tag_field.tagify('containerDiv') }, close: function(event, ui) { tag_field.tagify('add'); }, }); $('form').submit( function() { var tag_field = $('#tag_field') tag_field.val( tag_field.tagify('serialize') ); return true; }); })