<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/models/code.rb</filename>
    </added>
    <added>
      <filename>app/models/codes_projects.rb</filename>
    </added>
    <added>
      <filename>app/views/projects/_tag.html.erb</filename>
    </added>
    <added>
      <filename>db/migrate/20080508143951_create_codes.rb</filename>
    </added>
    <added>
      <filename>db/migrate/20080508144013_create_codes_projects.rb</filename>
    </added>
    <added>
      <filename>test/fixtures/codes.yml</filename>
    </added>
    <added>
      <filename>test/fixtures/codes_projects.yml</filename>
    </added>
    <added>
      <filename>test/unit/code_test.rb</filename>
    </added>
    <added>
      <filename>test/unit/codes_projects_test.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/complex_forms_helper/lib/view_helpers.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -19,7 +19,6 @@ class Project &lt; ActiveRecord::Base
   validates_associated :tasks, :assignments
 
   class &lt;&lt; self
-
     # If it's invalid return false
     # If it's valid and saves, return true
     # If there is an error in the transaction, re-raise the error
@@ -33,8 +32,7 @@ class Project &lt; ActiveRecord::Base
     rescue Exception =&gt; e
       throw e
     end
-
   end
-    
-end
 
+
+end
\ No newline at end of file</diff>
      <filename>app/models/project.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@
 &lt;% fields_for prefix, category do |category_form| -%&gt;
 &lt;p&gt;
   &lt;%= category_form.check_box category.id, {:checked =&gt; checked.include?(category)}, 1 %&gt;
-  &lt;label for=&quot;project_category_attributes_&lt;%=  category.id  %&gt;_id&quot;&gt;&lt;%= category.name %&gt;&lt;/label&gt;
+  &lt;label for=&quot;project_category_attributes_&lt;%=  category.id  %&gt;&quot;&gt;&lt;%= category.name %&gt;&lt;/label&gt;
 &lt;/p&gt;
 &lt;% end -%&gt;
 </diff>
      <filename>app/views/projects/_category.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,33 +1,31 @@
 &lt;%- associations = error_messages.class.reflect_on_all_associations.map(&amp;:name).map(&amp;:to_s) -%&gt;
 &lt;%- unless error_messages.errors.empty? -%&gt;
-&lt;div id=&quot;errorExplanation&quot; class=&quot;errorExplanation&quot;&gt;
-  &lt;h2&gt;Your form could not be saved&lt;/h2&gt;
-  &lt;p&gt;Please correct the following errors and submit again:&lt;/p&gt;
-  &lt;ul&gt;
+&lt;%- content_tag :div, :id =&gt; &quot;errorExplanation&quot;, :class =&gt; &quot;errorExplanation&quot; do -%&gt;
+  &lt;%= content_tag :h2, &quot;Your form could not be saved&quot; %&gt;
+  &lt;%= content_tag :p, &quot;Please correct the following errors and submit again:&quot; %&gt;
+  &lt;%- content_tag :ul do -%&gt;
     &lt;%- error_messages.errors.each do |attr,message| -%&gt;
       &lt;%= content_tag :li, &quot;#{attr.humanize} #{message}&quot; unless associations.include?(attr) %&gt;
     &lt;%- end -%&gt;
-
     &lt;%- Project.reflect_on_all_associations.dup.select{|a|a.macro == :has_one}.map(&amp;:name).each do |association| -%&gt;
       &lt;%- error_messages.send(association).errors.each do |attr,message| -%&gt;
         &lt;%= content_tag :li, &quot;#{attr.humanize} #{message}&quot; %&gt;
       &lt;%- end -%&gt;
     &lt;%- end -%&gt;
-
     &lt;%- Project.reflect_on_all_associations.dup.select{|a|a.macro == :has_many}.map(&amp;:name).each do |association| -%&gt;
       &lt;%- error_messages.send(association).each_with_index do |object, index| -%&gt;
         &lt;%- unless object.errors.empty? -%&gt;
-        &lt;li&gt;
-          &lt;%= association.to_s.singularize.humanize %&gt; &lt;%= index + 1 %&gt; has the following errors:
-          &lt;ul&gt;
-            &lt;%- object.errors.each_full do |att_message| -%&gt;
-            &lt;li&gt;&lt;%= att_message %&gt;&lt;/li&gt;
+          &lt;%- content_tag :li do -%&gt;
+            &lt;%= association.to_s.singularize.humanize %&gt; &lt;%= index + 1 %&gt; has the following errors:
+              &lt;%- content_tag :ul do -%&gt;
+                &lt;%- object.errors.each_full do |att_message| -%&gt;
+                &lt;%= content_tag :li, att_message %&gt;
+                &lt;%- end -%&gt;
+              &lt;%- end -%&gt;
             &lt;%- end -%&gt;
-          &lt;/ul&gt;
-        &lt;/li&gt;
+          &lt;%- end -%&gt;
         &lt;%- end -%&gt;
       &lt;%- end -%&gt;
     &lt;%- end -%&gt;
-  &lt;/ul&gt;
-&lt;/div&gt;
+  &lt;%- end -%&gt;
 &lt;%- end -%&gt;
\ No newline at end of file</diff>
      <filename>app/views/projects/_error_messages.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -78,6 +78,22 @@
 &lt;/fieldset&gt;
 
 &lt;fieldset&gt;
+  &lt;legend&gt;Tags (has_and_belongs_to_many)&lt;/legend&gt;
+  &lt;div class=&quot;yui-g&quot;&gt;
+    &lt;div class=&quot;yui-u first&quot;&gt;
+      &lt;div id=&quot;categories&quot;&gt;
+          &lt;%= render :partial =&gt; 'tag', :collection =&gt; Tag.all, :locals =&gt; {:checked =&gt; @project.tags} %&gt;
+      &lt;/div&gt;
+    &lt;/div&gt;
+    &lt;div class=&quot;yui-u&quot;&gt;
+      &lt;p&gt;&lt;%= pluralize(ActiveRecord::Base.connection.send(:select, &quot;select count(*) from projects_tags&quot;).first[&quot;count(*)&quot;].to_i, &quot;tag&quot;) %&gt; in the database&lt;/p&gt;
+      &lt;p&gt;&lt;%= pluralize(@project.tags.length, &quot;tag&quot;) %&gt; on the object&lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/div&gt;
+
+&lt;/fieldset&gt;
+
+&lt;fieldset&gt;
   &lt;legend&gt;Project Detail (has_one)&lt;/legend&gt;
   &lt;div class=&quot;yui-g&quot;&gt;
     &lt;div class=&quot;yui-u first&quot;&gt;</diff>
      <filename>app/views/projects/_form.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -31,11 +31,20 @@
 &lt;%- end -%&gt;
 
 &lt;%- if @project.project_detail -%&gt;
-&lt;h3&gt;Deatil&lt;/h3&gt;
+&lt;h3&gt;Deatail&lt;/h3&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;%= @project.project_detail.description %&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;%- end -%&gt;
 
+&lt;%- if @project.tags.length &gt; 0 -%&gt;
+&lt;h3&gt;Tags&lt;/h3&gt;
+&lt;ul&gt;
+  &lt;%- @project.tags.each do |tag| -%&gt;
+    &lt;li&gt;&lt;%= tag.name %&gt;&lt;/li&gt;
+  &lt;%- end -%&gt;
+&lt;/ul&gt;
+&lt;%- end -%&gt;
+
 &lt;%= link_to 'Edit', edit_project_path(@project) %&gt; |
 &lt;%= link_to 'Back', projects_path %&gt;</diff>
      <filename>app/views/projects/show.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -3618,3 +3618,2475 @@ Rendered projects/_category (0.00033)
 Rendered projects/_category (0.00029)
 Rendered projects/_form (0.04497)
 Completed in 0.10895 (9 reqs/sec) | Rendering: 0.04364 (40%) | DB: 0.02174 (19%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 09:15:19) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001972)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000831)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000349)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001861)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000301)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.002382)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mProjectDetail Load (0.000359)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001916)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mAssignment Load (0.000330)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001995)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mSQL (0.000151)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mSQL (0.000202)*[0m   *[0mCOMMIT*[0m
+Rendering template within layouts/application
+Rendering projects/edit
+Rendered projects/_task (0.00069)
+  *[4;36;1mEmployee Load (0.000329)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001715)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01213)
+  *[4;36;1mEmployee Load (0.000392)*[0m   *[0;1mSELECT `employees`.* FROM `employees` INNER JOIN assignments ON employees.id = assignments.employee_id WHERE ((`assignments`.project_id = 1)) *[0m
+  *[4;35;1mCategory Load (0.000355)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+Rendered projects/_error_messages (0.01027)
+Rendered projects/_task (0.00049)
+Rendered projects/_task (0.00045)
+Rendered projects/_task (0.00041)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00070)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00061)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00060)
+  *[4;35;1mCategory Load (0.000228)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001706)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+Rendered projects/_category (0.00393)
+Rendered projects/_category (0.00034)
+Rendered projects/_category (0.00031)
+Rendered projects/_form (0.04434)
+Completed in 0.11059 (9 reqs/sec) | Rendering: 0.04798 (43%) | DB: 0.01737 (15%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 09:15:31) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.002243)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.000385)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;35;1mTask Load (0.000355)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mTask Columns (0.004298)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+  *[4;35;1mCategorization Load (0.000343)*[0m   *[0mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;36;1mCategorization Columns (0.001983)*[0m   *[0;1mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;35;1mProjectDetail Load (0.000288)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001576)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+  *[4;35;1mAssignment Load (0.000269)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001667)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mSQL (0.000112)*[0m   *[0mBEGIN*[0m
+  *[4;36;1mSQL (0.000096)*[0m   *[0;1mCOMMIT*[0m
+Rendering template within layouts/application
+Rendering projects/edit
+Rendered projects/_task (0.00074)
+  *[4;35;1mEmployee Load (0.000264)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.005711)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01598)
+  *[4;35;1mEmployee Load (0.000418)*[0m   *[0mSELECT `employees`.* FROM `employees` INNER JOIN assignments ON employees.id = assignments.employee_id WHERE ((`assignments`.project_id = 1)) *[0m
+  *[4;36;1mCategory Load (0.000415)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+Rendered projects/_error_messages (0.01015)
+Rendered projects/_task (0.00046)
+Rendered projects/_task (0.00045)
+Rendered projects/_task (0.00042)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00075)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00063)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00061)
+  *[4;36;1mCategory Load (0.000214)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.001800)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+Rendered projects/_category (0.00386)
+Rendered projects/_category (0.00030)
+Rendered projects/_category (0.00029)
+Rendered projects/_form (0.04531)
+Completed in 0.10605 (9 reqs/sec) | Rendering: 0.04000 (37%) | DB: 0.02244 (21%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 09:23:36) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002406)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000974)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;36;1mTask Load (0.000346)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.002074)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mAssignment Load (0.000338)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001811)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Columns (0.001545)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+  *[4;35;1mEmployee Load (0.001268)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;36;1mEmployee Load (0.000319)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;35;1mEmployee Load (0.000218)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;36;1mCategory Load (0.000459)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;35;1mCategory Columns (0.001625)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mProjectDetail Load (0.000287)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001934)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mJoin Table Columns (0.001891)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000922)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+Completed in 0.08693 (11 reqs/sec) | Rendering: 0.05823 (66%) | DB: 0.01842 (21%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 09:23:40) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001913)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001930)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;36;1mTask Load (0.000439)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.002057)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mAssignment Load (0.000321)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001779)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Columns (0.002205)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+  *[4;35;1mEmployee Load (0.000543)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;36;1mEmployee Load (0.000208)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;35;1mEmployee Load (0.000189)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;36;1mCategory Load (0.000437)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;35;1mCategory Columns (0.001878)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mProjectDetail Load (0.000332)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001462)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mJoin Table Columns (0.001576)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001637)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+Completed in 0.14986 (6 reqs/sec) | Rendering: 0.12107 (80%) | DB: 0.01891 (12%) | 200 OK [http://localhost/projects/1]
+  *[4;36;1mSQL (0.000262)*[0m   *[0;1mSET NAMES 'utf8'*[0m
+  *[4;35;1mSQL (0.000089)*[0m   *[0mSET SQL_AUTO_IS_NULL=0*[0m
+  *[4;36;1mTag Columns (0.002073)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mSQL (0.000133)*[0m   *[0mBEGIN*[0m
+  *[4;36;1mTag Create (0.000293)*[0m   *[0;1mINSERT INTO `tags` (`name`, `updated_at`, `created_at`) VALUES('Space', '2008-05-08 09:24:29', '2008-05-08 09:24:29')*[0m
+  *[4;35;1mSQL (0.000684)*[0m   *[0mCOMMIT*[0m
+  *[4;36;1mSQL (0.000181)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mTag Create (0.000260)*[0m   *[0mINSERT INTO `tags` (`name`, `updated_at`, `created_at`) VALUES('Shuttle', '2008-05-08 09:24:33', '2008-05-08 09:24:33')*[0m
+  *[4;36;1mSQL (0.000720)*[0m   *[0;1mCOMMIT*[0m
+  *[4;35;1mSQL (0.000182)*[0m   *[0mBEGIN*[0m
+  *[4;36;1mTag Create (0.000261)*[0m   *[0;1mINSERT INTO `tags` (`name`, `updated_at`, `created_at`) VALUES('Sci Fi', '2008-05-08 09:24:37', '2008-05-08 09:24:37')*[0m
+  *[4;35;1mSQL (0.000741)*[0m   *[0mCOMMIT*[0m
+  *[4;36;1mSQL (0.000182)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mTag Create (0.000302)*[0m   *[0mINSERT INTO `tags` (`name`, `updated_at`, `created_at`) VALUES('Lunar', '2008-05-08 09:24:41', '2008-05-08 09:24:41')*[0m
+  *[4;36;1mSQL (0.001197)*[0m   *[0;1mCOMMIT*[0m
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 09:27:07) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002386)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000427)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;36;1mTask Columns (0.002237)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00212)
+  *[4;35;1mTask Load (0.000501)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001832)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Load (0.000286)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001618)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01365)
+  *[4;35;1mAssignment Load (0.000277)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00013)
+Rendered projects/_task (0.00045)
+Rendered projects/_task (0.00041)
+Rendered projects/_task (0.00040)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00067)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00061)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00073)
+  *[4;35;1mCategory Load (0.000266)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001696)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mCategory Exists (0.000395)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00540)
+  *[4;36;1mCategory Exists (0.000248)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00127)
+  *[4;35;1mCategory Exists (0.000263)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00112)
+  *[4;36;1mTag Load (0.000278)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+  *[4;35;1mTag Columns (0.001637)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Exists (0.000387)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00447)
+  *[4;35;1mTag Exists (0.000276)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00114)
+  *[4;36;1mTag Exists (0.000246)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00111)
+  *[4;35;1mTag Exists (0.000337)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00126)
+  *[4;36;1mProjectDetail Load (0.000325)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001882)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.09045)
+Completed in 0.11300 (8 reqs/sec) | Rendering: 0.08579 (75%) | DB: 0.01780 (15%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 09:27:54) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002292)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000391)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;36;1mTask Columns (0.002615)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00221)
+  *[4;35;1mTask Load (0.000320)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001954)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Load (0.000299)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.002018)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01607)
+  *[4;35;1mAssignment Load (0.000319)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00020)
+Rendered projects/_task (0.00062)
+Rendered projects/_task (0.00057)
+Rendered projects/_task (0.00056)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00082)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00077)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00076)
+  *[4;35;1mCategory Load (0.000281)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001665)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mCategory Exists (0.000357)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00514)
+  *[4;36;1mCategory Exists (0.000254)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00114)
+  *[4;35;1mCategory Exists (0.000254)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00112)
+  *[4;36;1mTag Load (0.000279)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+  *[4;35;1mTag Columns (0.001302)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Exists (0.001623)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00471)
+  *[4;35;1mTag Exists (0.000254)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00138)
+  *[4;36;1mTag Exists (0.000244)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00113)
+  *[4;35;1mTag Exists (0.000252)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00113)
+  *[4;36;1mProjectDetail Load (0.000302)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001923)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.09612)
+Completed in 0.11219 (8 reqs/sec) | Rendering: 0.08322 (74%) | DB: 0.01920 (17%) | 200 OK [http://localhost/projects/1/edit]
+  *[4;36;1mSQL (0.000264)*[0m   *[0;1mSET NAMES 'utf8'*[0m
+  *[4;35;1mSQL (0.000101)*[0m   *[0mSET SQL_AUTO_IS_NULL=0*[0m
+  *[4;36;1mProject Load (0.000341)*[0m   *[0;1mSELECT * FROM `projects` LIMIT 1*[0m
+  *[4;35;1mProject Columns (0.001555)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mSQL (0.000333)*[0m   *[0;1mselect count(*) from projects_tags*[0m
+  *[4;35;1mSQL (0.000339)*[0m   *[0mselect count(*) from projects_tags*[0m
+  *[4;36;1mSQL (0.000341)*[0m   *[0;1mselect count(*) from projects_tags*[0m
+  *[4;35;1mSQL (0.000387)*[0m   *[0mselect count(*) from projects_tags*[0m
+  *[4;36;1mProject Load (0.000352)*[0m   *[0;1mSELECT * FROM `projects` LIMIT 1*[0m
+  *[4;35;1mJoin Table Columns (0.001917)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000984)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mTag Load (0.000352)*[0m   *[0mSELECT * FROM `tags` LIMIT 1*[0m
+  *[4;36;1mTag Columns (0.009547)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mSQL (0.000341)*[0m   *[0mselect count(*) from projects_tags*[0m
+  *[4;36;1mSQL (0.000655)*[0m   *[0;1mSHOW TABLES*[0m
+  *[4;35;1mSQL (0.000663)*[0m   *[0mSHOW TABLES*[0m
+  *[4;36;1mSQL (0.000425)*[0m   *[0;1mSHOW TABLES*[0m
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 09:42:04) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;1&quot;, &quot;3&quot;=&gt;&quot;1&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002416)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000746)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000354)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.002004)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000355)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.001678)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mJoin Table Columns (0.001865)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001265)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001539)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+
+
+NoMethodError (undefined method `tag_id=' for #&lt;Tag id: nil, name: nil, created_at: nil, updated_at: nil&gt;):
+    /vendor/rails/activerecord/lib/active_record/attribute_methods.rb:240:in `method_missing'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `send'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `each'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2097:in `initialize'
+    /vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:299:in `new'
+    /vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:299:in `build_record'
+    /vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:65:in `build'
+    /app/models/project.rb:45:in `tag_attributes='
+    /app/models/project.rb:40:in `each'
+    /app/models/project.rb:40:in `tag_attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `send'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `each'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2226:in `update_attributes'
+    /app/controllers/projects_controller.rb:70:in `update'
+    /vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `call'
+    /vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `respond_to'
+    /app/controllers/projects_controller.rb:69:in `update'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `perform_action_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /opt/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
+    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
+    /vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `process_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
+    /vendor/rails/actionpack/lib/action_controller/session_management.rb:123:in `process'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:387:in `process'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:156:in `handle_request'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:97:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `synchronize'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:in `dispatch_cgi'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:11:in `dispatch'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:76:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `synchronize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:159:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:282:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:128:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/command.rb:212:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:281
+    /opt/local/bin/mongrel_rails:19:in `load'
+    /opt/local/bin/mongrel_rails:19
+
+Rendering /Users/jeff/Sites/lab/complex_forms_demo_app/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb (internal_server_error)
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 09:51:54) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;1&quot;, &quot;3&quot;=&gt;&quot;1&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.001707)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.002635)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;35;1mTask Load (0.000300)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mTask Columns (0.002236)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+  *[4;35;1mCategorization Load (0.000432)*[0m   *[0mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;36;1mCategorization Columns (0.001883)*[0m   *[0;1mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;35;1mJoin Table Columns (0.001920)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000775)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mTag Columns (0.002130)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Load (0.000422)*[0m   *[0;1mSELECT * FROM `tags` WHERE (`tags`.`id` = '1') LIMIT 1*[0m
+  *[4;35;1mTag Load (0.000231)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '2') LIMIT 1*[0m
+  *[4;36;1mTag Load (0.000190)*[0m   *[0;1mSELECT * FROM `tags` WHERE (`tags`.`id` = '3') LIMIT 1*[0m
+  *[4;35;1mTag Load (0.000185)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '4') LIMIT 1*[0m
+  *[4;36;1mProjectDetail Load (0.000412)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001507)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mAssignment Load (0.000254)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001802)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mSQL (0.000154)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mSQL (0.000131)*[0m   *[0mCOMMIT*[0m
+Rendering template within layouts/application
+Rendering projects/edit
+Rendered projects/_task (0.00049)
+  *[4;36;1mEmployee Load (0.000300)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001691)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.08048)
+  *[4;36;1mEmployee Load (0.000425)*[0m   *[0;1mSELECT `employees`.* FROM `employees` INNER JOIN assignments ON employees.id = assignments.employee_id WHERE ((`assignments`.project_id = 1)) *[0m
+  *[4;35;1mCategory Load (0.000384)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+Rendered projects/_error_messages (0.00966)
+Rendered projects/_task (0.00047)
+Rendered projects/_task (0.00043)
+Rendered projects/_task (0.00042)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00068)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00061)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00061)
+  *[4;35;1mCategory Load (0.000212)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001719)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+Rendered projects/_category (0.00410)
+Rendered projects/_category (0.00036)
+Rendered projects/_category (0.00030)
+  *[4;35;1mTag Load (0.000292)*[0m   *[0mSELECT * FROM `tags` *[0m
+Rendered projects/_tag (0.00033)
+Rendered projects/_tag (0.00031)
+Rendered projects/_tag (0.00030)
+Rendered projects/_tag (0.00032)
+Rendered projects/_form (0.11215)
+Completed in 0.18417 (5 reqs/sec) | Rendering: 0.10997 (59%) | DB: 0.03655 (19%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 09:52:03) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;1&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001867)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000941)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000346)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001794)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000442)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.001723)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mJoin Table Columns (0.001943)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000790)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001556)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Load (0.000687)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '1') LIMIT 1*[0m
+  *[4;36;1mTag Load (0.000236)*[0m   *[0;1mSELECT * FROM `tags` WHERE (`tags`.`id` = '2') LIMIT 1*[0m
+  *[4;35;1mTag Load (0.000190)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '4') LIMIT 1*[0m
+  *[4;36;1mProjectDetail Load (0.000234)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001632)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mAssignment Load (0.000327)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001992)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mSQL (0.000138)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mSQL (0.000138)*[0m   *[0mCOMMIT*[0m
+Rendering template within layouts/application
+Rendering projects/edit
+Rendered projects/_task (0.00074)
+  *[4;36;1mEmployee Load (0.000307)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001748)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.08003)
+  *[4;36;1mEmployee Load (0.000481)*[0m   *[0;1mSELECT `employees`.* FROM `employees` INNER JOIN assignments ON employees.id = assignments.employee_id WHERE ((`assignments`.project_id = 1)) *[0m
+  *[4;35;1mCategory Load (0.000487)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+Rendered projects/_error_messages (0.01321)
+Rendered projects/_task (0.00063)
+Rendered projects/_task (0.00059)
+Rendered projects/_task (0.00057)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00073)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00063)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00066)
+  *[4;35;1mCategory Load (0.000229)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001713)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+Rendered projects/_category (0.00399)
+Rendered projects/_category (0.00034)
+Rendered projects/_category (0.00030)
+  *[4;35;1mTag Load (0.000253)*[0m   *[0mSELECT * FROM `tags` *[0m
+Rendered projects/_tag (0.00033)
+Rendered projects/_tag (0.00030)
+Rendered projects/_tag (0.00029)
+Rendered projects/_tag (0.00029)
+Rendered projects/_form (0.11989)
+Completed in 0.19420 (5 reqs/sec) | Rendering: 0.11812 (60%) | DB: 0.02219 (11%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 09:52:08) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;0&quot;, &quot;2&quot;=&gt;&quot;1&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002683)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001150)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000988)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001925)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000372)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.002063)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mJoin Table Columns (0.001816)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000738)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001812)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Load (0.000551)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '2') LIMIT 1*[0m
+  *[4;36;1mTag Load (0.000213)*[0m   *[0;1mSELECT * FROM `tags` WHERE (`tags`.`id` = '4') LIMIT 1*[0m
+  *[4;35;1mProjectDetail Load (0.000277)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001505)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+  *[4;35;1mAssignment Load (0.000257)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001548)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mSQL (0.000098)*[0m   *[0mBEGIN*[0m
+  *[4;36;1mSQL (0.000104)*[0m   *[0;1mCOMMIT*[0m
+Rendering template within layouts/application
+Rendering projects/edit
+Rendered projects/_task (0.00051)
+  *[4;35;1mEmployee Load (0.000276)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001673)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.08187)
+  *[4;35;1mEmployee Load (0.000511)*[0m   *[0mSELECT `employees`.* FROM `employees` INNER JOIN assignments ON employees.id = assignments.employee_id WHERE ((`assignments`.project_id = 1)) *[0m
+  *[4;36;1mCategory Load (0.000374)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+Rendered projects/_error_messages (0.00957)
+Rendered projects/_task (0.00047)
+Rendered projects/_task (0.00044)
+Rendered projects/_task (0.00043)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00067)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00067)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00075)
+  *[4;36;1mCategory Load (0.000251)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.001679)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+Rendered projects/_category (0.00468)
+Rendered projects/_category (0.00032)
+Rendered projects/_category (0.00031)
+  *[4;36;1mTag Load (0.000280)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+Rendered projects/_tag (0.00030)
+Rendered projects/_tag (0.00027)
+Rendered projects/_tag (0.00026)
+Rendered projects/_tag (0.00027)
+Rendered projects/_form (0.11393)
+Completed in 0.18348 (5 reqs/sec) | Rendering: 0.11192 (60%) | DB: 0.02314 (12%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 09:52:16) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;0&quot;, &quot;2&quot;=&gt;&quot;1&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Destination&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.002404)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.000353)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;35;1mTask Load (0.001273)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mTask Columns (0.002013)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+  *[4;35;1mCategorization Load (0.000577)*[0m   *[0mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;36;1mCategorization Columns (0.002039)*[0m   *[0;1mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;35;1mJoin Table Columns (0.002038)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000832)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mTag Columns (0.001649)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Load (0.000597)*[0m   *[0;1mSELECT * FROM `tags` WHERE (`tags`.`id` = '2') LIMIT 1*[0m
+  *[4;35;1mTag Load (0.000205)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '4') LIMIT 1*[0m
+  *[4;36;1mProjectDetail Load (0.000355)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001549)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mAssignment Load (0.001613)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.002077)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mSQL (0.000167)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mProject Update (0.000322)*[0m   *[0mUPDATE `projects` SET `created_at` = '2008-04-16 05:34:01', `updated_at` = '2008-05-08 09:52:16', `name` = 'Apollo 11' WHERE `id` = 1*[0m
+  *[4;36;1mTask Update (0.000307)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:42', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:52:16', `name` = 'Take Off' WHERE `id` = 4*[0m
+  *[4;35;1mTask Update (0.000218)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:54', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:52:16', `name` = 'Land on Moon' WHERE `id` = 5*[0m
+  *[4;36;1mTask Update (0.000208)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:40:11', `complete` = 0, `project_id` = 1, `updated_at` = '2008-05-08 09:52:16', `name` = 'Come Back Safely' WHERE `id` = 6*[0m
+  *[4;35;1mAssignment Update (0.000185)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Commander', `employee_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:52:16' WHERE `id` = 1*[0m
+  *[4;36;1mAssignment Update (0.000140)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Command Module Pilot', `employee_id` = 2, `project_id` = 1, `updated_at` = '2008-05-08 09:52:16' WHERE `id` = 2*[0m
+  *[4;35;1mAssignment Update (0.000139)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:42:08', `title` = 'Lunar Module Pilot', `employee_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 09:52:16' WHERE `id` = 3*[0m
+  *[4;36;1mCategorization Update (0.000148)*[0m   *[0;1mUPDATE `categorizations` SET `created_at` = '2008-05-08 06:29:50', `category_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:52:16' WHERE `id` = 10*[0m
+  *[4;35;1mCategorization Update (0.000136)*[0m   *[0mUPDATE `categorizations` SET `created_at` = '2008-05-08 07:18:16', `category_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 09:52:16' WHERE `id` = 12*[0m
+  *[4;36;1mProjectDetail Update (0.000179)*[0m   *[0;1mUPDATE `project_details` SET `created_at` = '2008-05-08 08:57:29', `description` = 'Destination', `project_id` = 1, `updated_at` = '2008-05-08 09:52:16' WHERE `id` = 3*[0m
+  *[4;35;1mSQL (0.000663)*[0m   *[0mCOMMIT*[0m
+Redirected to http://localhost:3060/projects/1
+Completed in 0.08510 (11 reqs/sec) | DB: 0.02239 (26%) | 302 Found [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 09:52:16) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7BjoLbm90aWNlIiZQcm9qZWN0IHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRl%0AZC4GOgpAdXNlZHsGOwdU--15f2cd631b0e93ecb6aa1aeeeb848fd1903c308f
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001853)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001947)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;36;1mTask Load (0.000393)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001976)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mAssignment Load (0.000352)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001865)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Columns (0.003010)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+  *[4;35;1mEmployee Load (0.000989)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;36;1mEmployee Load (0.000237)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;35;1mEmployee Load (0.000210)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;36;1mCategory Load (0.000481)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;35;1mCategory Columns (0.001658)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mProjectDetail Load (0.000349)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001849)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mJoin Table Columns (0.002336)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001094)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+Completed in 0.08759 (11 reqs/sec) | Rendering: 0.05648 (64%) | DB: 0.02060 (23%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 09:56:00) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+
+
+SyntaxError (/Users/jeff/Sites/lab/complex_forms_demo_app/app/models/project.rb:54: syntax error, unexpected $end, expecting kEND):
+    /vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:203:in `load_without_new_constant_marking'
+    /vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:203:in `load_file'
+    /vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:342:in `new_constants_in'
+    /vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:202:in `load_file'
+    /vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:94:in `require_or_load'
+    /vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:248:in `load_missing_constant'
+    /vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:453:in `const_missing'
+    /vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:465:in `const_missing'
+    /vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:260:in `load_missing_constant'
+    /vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:469:in `const_missing'
+    /app/controllers/projects_controller.rb:39:in `edit'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `perform_action_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /opt/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
+    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
+    /vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `process_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
+    /vendor/rails/actionpack/lib/action_controller/session_management.rb:123:in `process'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:387:in `process'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:156:in `handle_request'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:97:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `synchronize'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:in `dispatch_cgi'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:11:in `dispatch'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:76:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `synchronize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:159:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:282:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:128:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/command.rb:212:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:281
+    /opt/local/bin/mongrel_rails:19:in `load'
+    /opt/local/bin/mongrel_rails:19
+
+Rendering /Users/jeff/Sites/lab/complex_forms_demo_app/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb (internal_server_error)
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 09:56:15) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002443)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000386)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;36;1mTask Columns (0.002154)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00267)
+  *[4;35;1mTask Load (0.000320)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001906)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Load (0.000335)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001930)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01626)
+  *[4;35;1mAssignment Load (0.000531)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00021)
+Rendered projects/_task (0.00073)
+Rendered projects/_task (0.00063)
+Rendered projects/_task (0.00062)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00094)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00081)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00086)
+  *[4;35;1mCategory Load (0.000288)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.002378)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mCategory Exists (0.000348)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00547)
+  *[4;36;1mCategory Exists (0.000248)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00117)
+  *[4;35;1mCategory Exists (0.000240)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00112)
+  *[4;36;1mTag Load (0.000223)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+  *[4;35;1mTag Columns (0.001760)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Exists (0.000297)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00457)
+  *[4;35;1mTag Exists (0.000221)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00101)
+  *[4;36;1mTag Exists (0.000224)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00100)
+  *[4;35;1mTag Exists (0.000246)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00136)
+  *[4;36;1mProjectDetail Load (0.000281)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001530)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.09471)
+Completed in 0.11151 (8 reqs/sec) | Rendering: 0.08246 (73%) | DB: 0.01829 (16%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 09:56:20) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;0&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Destination&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001733)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000708)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000275)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001928)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000361)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.001600)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mJoin Table Columns (0.001968)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000906)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001663)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Load (0.000378)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '1') LIMIT 1*[0m
+  *[4;36;1mProjectDetail Load (0.000236)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001690)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mAssignment Load (0.000353)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001948)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mSQL (0.000136)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mProject Update (0.000329)*[0m   *[0mUPDATE `projects` SET `created_at` = '2008-04-16 05:34:01', `updated_at` = '2008-05-08 09:56:20', `name` = 'Apollo 11' WHERE `id` = 1*[0m
+  *[4;36;1mTask Update (0.000227)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:42', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:56:20', `name` = 'Take Off' WHERE `id` = 4*[0m
+  *[4;35;1mTask Update (0.000217)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:54', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:56:20', `name` = 'Land on Moon' WHERE `id` = 5*[0m
+  *[4;36;1mTask Update (0.000174)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:40:11', `complete` = 0, `project_id` = 1, `updated_at` = '2008-05-08 09:56:20', `name` = 'Come Back Safely' WHERE `id` = 6*[0m
+  *[4;35;1mAssignment Update (0.000154)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Commander', `employee_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:56:20' WHERE `id` = 1*[0m
+  *[4;36;1mAssignment Update (0.000140)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Command Module Pilot', `employee_id` = 2, `project_id` = 1, `updated_at` = '2008-05-08 09:56:20' WHERE `id` = 2*[0m
+  *[4;35;1mAssignment Update (0.000149)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:42:08', `title` = 'Lunar Module Pilot', `employee_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 09:56:20' WHERE `id` = 3*[0m
+  *[4;36;1mCategorization Update (0.000143)*[0m   *[0;1mUPDATE `categorizations` SET `created_at` = '2008-05-08 06:29:50', `category_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:56:20' WHERE `id` = 10*[0m
+  *[4;35;1mCategorization Update (0.000138)*[0m   *[0mUPDATE `categorizations` SET `created_at` = '2008-05-08 07:18:16', `category_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 09:56:20' WHERE `id` = 12*[0m
+  *[4;36;1mJoin Table Columns (0.001588)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001107)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mprojects_tags Columns (0.002009)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mSQL (0.001204)*[0m   *[0mINSERT INTO `projects_tags` (`updated_at`, `project_id`, `tag_id`, `id`, `created_at`) VALUES ('2008-05-08 09:24:29', 1, 1, 1, '2008-05-08 09:24:29')*[0m
+  *[4;36;1mSQL (0.000684)*[0m   *[0;1mCOMMIT*[0m
+Redirected to http://localhost:3060/projects/1
+Completed in 0.15282 (6 reqs/sec) | DB: 0.02415 (15%) | 302 Found [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 09:56:20) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7BjoLbm90aWNlIiZQcm9qZWN0IHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRl%0AZC4GOgpAdXNlZHsGOwdU--15f2cd631b0e93ecb6aa1aeeeb848fd1903c308f
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.001849)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.001464)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;35;1mTask Load (0.000345)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mTask Columns (0.001760)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+  *[4;35;1mAssignment Load (0.000319)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001969)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Columns (0.001908)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+  *[4;36;1mEmployee Load (0.000908)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;35;1mEmployee Load (0.000231)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;36;1mEmployee Load (0.000203)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;35;1mCategory Load (0.000381)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;36;1mCategory Columns (0.001692)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mProjectDetail Load (0.000313)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001731)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+  *[4;35;1mJoin Table Columns (0.001819)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000949)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mTag Columns (0.001885)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+Completed in 0.08682 (11 reqs/sec) | Rendering: 0.05714 (65%) | DB: 0.01973 (22%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 09:56:24) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002341)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000607)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;36;1mTask Columns (0.004450)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00219)
+  *[4;35;1mTask Load (0.000357)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001966)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Load (0.000318)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001943)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01625)
+  *[4;35;1mAssignment Load (0.000329)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00021)
+Rendered projects/_task (0.00073)
+Rendered projects/_task (0.00067)
+Rendered projects/_task (0.00064)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00099)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00084)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00084)
+  *[4;35;1mCategory Load (0.000275)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001543)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mCategory Exists (0.000278)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00368)
+  *[4;36;1mCategory Exists (0.000183)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00079)
+  *[4;35;1mCategory Exists (0.000168)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00074)
+  *[4;36;1mTag Load (0.000220)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+  *[4;35;1mTag Columns (0.001593)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Exists (0.000232)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00333)
+  *[4;35;1mTag Exists (0.000226)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00088)
+  *[4;36;1mTag Exists (0.000217)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00075)
+  *[4;35;1mTag Exists (0.000157)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00065)
+  *[4;36;1mProjectDetail Load (0.000260)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001743)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.08695)
+Completed in 0.10211 (9 reqs/sec) | Rendering: 0.07311 (71%) | DB: 0.01941 (19%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 09:56:28) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;0&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;0&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Destination&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002385)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000322)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000382)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001881)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000364)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.001727)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mJoin Table Columns (0.001868)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000643)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001813)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mProjectDetail Load (0.000309)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.002418)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+  *[4;35;1mAssignment Load (0.000368)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001674)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mSQL (0.000098)*[0m   *[0mBEGIN*[0m
+  *[4;36;1mProject Update (0.000256)*[0m   *[0;1mUPDATE `projects` SET `created_at` = '2008-04-16 05:34:01', `updated_at` = '2008-05-08 09:56:28', `name` = 'Apollo 11' WHERE `id` = 1*[0m
+  *[4;35;1mTask Update (0.000228)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:42', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:56:28', `name` = 'Take Off' WHERE `id` = 4*[0m
+  *[4;36;1mTask Update (0.000144)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:54', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:56:28', `name` = 'Land on Moon' WHERE `id` = 5*[0m
+  *[4;35;1mTask Update (0.000119)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:40:11', `complete` = 0, `project_id` = 1, `updated_at` = '2008-05-08 09:56:28', `name` = 'Come Back Safely' WHERE `id` = 6*[0m
+  *[4;36;1mAssignment Update (0.000187)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Commander', `employee_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:56:28' WHERE `id` = 1*[0m
+  *[4;35;1mAssignment Update (0.000242)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Command Module Pilot', `employee_id` = 2, `project_id` = 1, `updated_at` = '2008-05-08 09:56:28' WHERE `id` = 2*[0m
+  *[4;36;1mAssignment Update (0.000184)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:42:08', `title` = 'Lunar Module Pilot', `employee_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 09:56:28' WHERE `id` = 3*[0m
+  *[4;35;1mCategorization Update (0.000163)*[0m   *[0mUPDATE `categorizations` SET `created_at` = '2008-05-08 06:29:50', `category_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:56:28' WHERE `id` = 10*[0m
+  *[4;36;1mCategorization Update (0.000136)*[0m   *[0;1mUPDATE `categorizations` SET `created_at` = '2008-05-08 07:18:16', `category_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 09:56:28' WHERE `id` = 12*[0m
+  *[4;35;1mJoin Table Columns (0.001749)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000837)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mSQL (0.000810)*[0m   *[0mCOMMIT*[0m
+Redirected to http://localhost:3060/projects/1
+Completed in 0.15168 (6 reqs/sec) | DB: 0.02131 (14%) | 302 Found [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 09:56:28) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7BjoLbm90aWNlIiZQcm9qZWN0IHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRl%0AZC4GOgpAdXNlZHsGOwdU--15f2cd631b0e93ecb6aa1aeeeb848fd1903c308f
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001829)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001652)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;36;1mTask Load (0.000394)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001810)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mAssignment Load (0.000334)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001880)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Columns (0.001937)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+  *[4;35;1mEmployee Load (0.000983)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;36;1mEmployee Load (0.000233)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;35;1mEmployee Load (0.000213)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;36;1mCategory Load (0.000451)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;35;1mCategory Columns (0.001914)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mProjectDetail Load (0.000292)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001476)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mJoin Table Columns (0.001791)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000927)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001695)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+Completed in 0.08376 (11 reqs/sec) | Rendering: 0.05350 (63%) | DB: 0.01981 (23%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 09:57:29) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.002494)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.001469)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;35;1mTask Columns (0.003508)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00223)
+  *[4;36;1mTask Load (0.000361)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.002097)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Load (0.000301)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001503)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01483)
+  *[4;36;1mAssignment Load (0.000280)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00014)
+Rendered projects/_task (0.00045)
+Rendered projects/_task (0.00042)
+Rendered projects/_task (0.00041)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00073)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00060)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00060)
+  *[4;36;1mCategory Load (0.000274)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.001719)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mCategory Exists (0.000356)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00518)
+  *[4;35;1mCategory Exists (0.000366)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00127)
+  *[4;36;1mCategory Exists (0.000261)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00119)
+  *[4;35;1mTag Load (0.000264)*[0m   *[0mSELECT * FROM `tags` *[0m
+  *[4;36;1mTag Columns (0.001625)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Exists (0.000349)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00469)
+  *[4;36;1mTag Exists (0.000242)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00102)
+  *[4;35;1mTag Exists (0.000218)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00099)
+  *[4;36;1mTag Exists (0.000227)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00098)
+  *[4;35;1mProjectDetail Load (0.000266)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001978)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.09026)
+Completed in 0.17896 (5 reqs/sec) | Rendering: 0.07812 (43%) | DB: 0.02016 (11%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 09:57:33) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;0&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;0&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Destination&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.002346)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.000319)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;35;1mTask Load (0.000298)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mTask Columns (0.002129)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+  *[4;35;1mCategorization Load (0.000282)*[0m   *[0mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;36;1mCategorization Columns (0.001615)*[0m   *[0;1mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;35;1mJoin Table Columns (0.001850)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000857)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mTag Columns (0.001855)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mProjectDetail Load (0.000558)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.002384)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mAssignment Load (0.000359)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001795)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mSQL (0.000138)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mProject Update (0.000471)*[0m   *[0mUPDATE `projects` SET `created_at` = '2008-04-16 05:34:01', `updated_at` = '2008-05-08 09:57:34', `name` = 'Apollo 11' WHERE `id` = 1*[0m
+  *[4;36;1mTask Update (0.000214)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:42', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:57:34', `name` = 'Take Off' WHERE `id` = 4*[0m
+  *[4;35;1mTask Update (0.000229)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:54', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:57:34', `name` = 'Land on Moon' WHERE `id` = 5*[0m
+  *[4;36;1mTask Update (0.000149)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:40:11', `complete` = 0, `project_id` = 1, `updated_at` = '2008-05-08 09:57:34', `name` = 'Come Back Safely' WHERE `id` = 6*[0m
+  *[4;35;1mAssignment Update (0.000154)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Commander', `employee_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:57:34' WHERE `id` = 1*[0m
+  *[4;36;1mAssignment Update (0.000144)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Command Module Pilot', `employee_id` = 2, `project_id` = 1, `updated_at` = '2008-05-08 09:57:34' WHERE `id` = 2*[0m
+  *[4;35;1mAssignment Update (0.000149)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:42:08', `title` = 'Lunar Module Pilot', `employee_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 09:57:34' WHERE `id` = 3*[0m
+  *[4;36;1mCategorization Update (0.000161)*[0m   *[0;1mUPDATE `categorizations` SET `created_at` = '2008-05-08 06:29:50', `category_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 09:57:34' WHERE `id` = 10*[0m
+  *[4;35;1mCategorization Update (0.000142)*[0m   *[0mUPDATE `categorizations` SET `created_at` = '2008-05-08 07:18:16', `category_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 09:57:34' WHERE `id` = 12*[0m
+  *[4;36;1mJoin Table Columns (0.001680)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000702)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mSQL (0.000222)*[0m   *[0;1mDELETE FROM `projects_tags` WHERE project_id = 1 AND tag_id IN (1)*[0m
+  *[4;35;1mSQL (0.000704)*[0m   *[0mCOMMIT*[0m
+Redirected to http://localhost:3060/projects/1
+Completed in 0.15100 (6 reqs/sec) | DB: 0.02191 (14%) | 302 Found [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 09:57:34) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7BjoLbm90aWNlIiZQcm9qZWN0IHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRl%0AZC4GOgpAdXNlZHsGOwdU--15f2cd631b0e93ecb6aa1aeeeb848fd1903c308f
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001863)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001443)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;36;1mTask Load (0.000360)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001790)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mAssignment Load (0.000357)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001929)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Columns (0.001794)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+  *[4;35;1mEmployee Load (0.000987)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;36;1mEmployee Load (0.000299)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;35;1mEmployee Load (0.000216)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;36;1mCategory Load (0.000366)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;35;1mCategory Columns (0.001651)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mProjectDetail Load (0.000270)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001527)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mJoin Table Columns (0.001725)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000817)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+Completed in 0.07671 (13 reqs/sec) | Rendering: 0.04880 (63%) | DB: 0.01739 (22%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 09:57:38) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002515)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001761)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;36;1mTask Columns (0.001904)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00240)
+  *[4;35;1mTask Load (0.000341)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.002016)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Load (0.000358)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001723)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01749)
+  *[4;35;1mAssignment Load (0.000338)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00020)
+Rendered projects/_task (0.00074)
+Rendered projects/_task (0.00059)
+Rendered projects/_task (0.00064)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00091)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00083)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00074)
+  *[4;35;1mCategory Load (0.000275)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001588)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mCategory Exists (0.000259)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00357)
+  *[4;36;1mCategory Exists (0.000177)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00076)
+  *[4;35;1mCategory Exists (0.000167)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00073)
+  *[4;36;1mTag Load (0.000238)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+  *[4;35;1mTag Columns (0.001612)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Exists (0.000333)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00466)
+  *[4;35;1mTag Exists (0.000265)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00117)
+  *[4;36;1mTag Exists (0.000236)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00109)
+  *[4;35;1mTag Exists (0.000232)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00110)
+  *[4;36;1mProjectDetail Load (0.000336)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001925)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.16468)
+Completed in 0.18253 (5 reqs/sec) | Rendering: 0.15448 (84%) | DB: 0.01860 (10%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 09:58:09) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002670)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000416)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;36;1mTask Columns (0.007402)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00142)
+  *[4;35;1mTask Load (0.009463)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001577)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Load (0.000279)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001642)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01211)
+  *[4;35;1mAssignment Load (0.000259)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00016)
+Rendered projects/_task (0.00050)
+Rendered projects/_task (0.00052)
+Rendered projects/_task (0.00044)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00083)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00066)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00063)
+  *[4;35;1mCategory Load (0.000304)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001702)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mCategory Exists (0.000382)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00702)
+  *[4;36;1mCategory Exists (0.000295)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00123)
+  *[4;35;1mCategory Exists (0.000244)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00111)
+  *[4;36;1mTag Load (0.000254)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+  *[4;35;1mTag Columns (0.001686)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Exists (0.000361)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00477)
+  *[4;35;1mTag Exists (0.000226)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00102)
+  *[4;36;1mTag Exists (0.000219)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00099)
+  *[4;35;1mTag Exists (0.000243)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00102)
+  *[4;36;1mSQL (0.000211)*[0m   *[0;1mSELECT count(*) AS count_all FROM `tags` *[0m
+  *[4;35;1mProjectDetail Load (0.000342)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001939)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.17378)
+Completed in 0.21430 (4 reqs/sec) | Rendering: 0.17217 (80%) | DB: 0.03212 (14%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 09:59:09) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.001504)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.002679)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;35;1mTask Columns (0.002101)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00222)
+  *[4;36;1mTask Load (0.000434)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001706)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Load (0.000313)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001890)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.07586)
+  *[4;36;1mAssignment Load (0.000282)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00018)
+Rendered projects/_task (0.00048)
+Rendered projects/_task (0.00044)
+Rendered projects/_task (0.00042)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00077)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00066)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00067)
+  *[4;36;1mCategory Load (0.000279)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.001767)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mCategory Exists (0.000268)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00393)
+  *[4;35;1mCategory Exists (0.000174)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00077)
+  *[4;36;1mCategory Exists (0.000167)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00073)
+  *[4;35;1mTag Load (0.000204)*[0m   *[0mSELECT * FROM `tags` *[0m
+  *[4;36;1mTag Columns (0.001676)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Exists (0.000347)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00464)
+  *[4;36;1mTag Exists (0.000235)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00107)
+  *[4;35;1mTag Exists (0.000213)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00098)
+  *[4;36;1mTag Exists (0.000256)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00105)
+  *[4;35;1mSQL (0.000184)*[0m   *[0mselect count(*) from projects_tags*[0m
+
+
+ActionView::TemplateError (undefined method `last' for {&quot;count(*)&quot;=&gt;&quot;0&quot;}:Hash) on line #3 of projects/edit.html.erb:
+1: &lt;h1&gt;Editing project&lt;/h1&gt;
+2: 
+3: &lt;%= render :partial =&gt; &quot;form&quot; %&gt;
+4: 
+5: &lt;%= link_to 'Show', @project %&gt; |
+6: &lt;%= link_to 'Back', projects_path %&gt;
+
+    app/views/projects/_form.html.erb:89:in `_run_erb_47app47views47projects47_form46html46erb'
+    vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:269:in `fields_for'
+    vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:205:in `form_for'
+    app/views/projects/_form.html.erb:19:in `_run_erb_47app47views47projects47_form46html46erb'
+    vendor/rails/actionpack/lib/action_view/base.rb:344:in `send'
+    vendor/rails/actionpack/lib/action_view/base.rb:344:in `execute'
+    vendor/rails/actionpack/lib/action_view/template_handlers/compilable.rb:29:in `send'
+    vendor/rails/actionpack/lib/action_view/template_handlers/compilable.rb:29:in `render'
+    vendor/rails/actionpack/lib/action_view/partial_template.rb:20:in `render'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:26:in `benchmark'
+    vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:8:in `realtime'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:26:in `benchmark'
+    vendor/rails/actionpack/lib/action_view/partial_template.rb:19:in `render'
+    vendor/rails/actionpack/lib/action_view/partials.rb:110:in `render_partial'
+    vendor/rails/actionpack/lib/action_view/base.rb:280:in `render'
+    app/views/projects/edit.html.erb:3:in `_run_erb_47app47views47projects47edit46html46erb'
+    vendor/rails/actionpack/lib/action_view/base.rb:344:in `send'
+    vendor/rails/actionpack/lib/action_view/base.rb:344:in `execute'
+    vendor/rails/actionpack/lib/action_view/template_handlers/compilable.rb:29:in `send'
+    vendor/rails/actionpack/lib/action_view/template_handlers/compilable.rb:29:in `render'
+    vendor/rails/actionpack/lib/action_view/template.rb:27:in `render'
+    vendor/rails/actionpack/lib/action_view/base.rb:289:in `render_template'
+    vendor/rails/actionpack/lib/action_view/base.rb:244:in `render_file'
+    vendor/rails/actionpack/lib/action_controller/base.rb:1106:in `render_for_file'
+    vendor/rails/actionpack/lib/action_controller/base.rb:838:in `render_with_no_layout'
+    vendor/rails/actionpack/lib/action_controller/layout.rb:253:in `render_without_benchmark'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render'
+    vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:8:in `realtime'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render'
+    vendor/rails/actionpack/lib/action_controller/base.rb:1155:in `default_render'
+    vendor/rails/actionpack/lib/action_controller/base.rb:1161:in `perform_action_without_filters'
+    vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters'
+    vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /opt/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
+    vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
+    vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
+    vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
+    vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
+    vendor/rails/actionpack/lib/action_controller/base.rb:526:in `send'
+    vendor/rails/actionpack/lib/action_controller/base.rb:526:in `process_without_filters'
+    vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
+    vendor/rails/actionpack/lib/action_controller/session_management.rb:123:in `process'
+    vendor/rails/actionpack/lib/action_controller/base.rb:387:in `process'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:156:in `handle_request'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:97:in `dispatch'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `synchronize'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `dispatch'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:in `dispatch_cgi'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:11:in `dispatch'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/rails.rb:76:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/rails.rb:74:in `synchronize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/rails.rb:74:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:159:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:158:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:158:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:268:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:268:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:268:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/configurator.rb:282:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/configurator.rb:281:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/configurator.rb:281:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:128:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/command.rb:212:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:281
+    /opt/local/bin/mongrel_rails:19:in `load'
+    /opt/local/bin/mongrel_rails:19
+
+Rendering /Users/jeff/Sites/lab/complex_forms_demo_app/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb (internal_server_error)
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 09:59:21) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001803)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001201)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;36;1mTask Columns (0.001613)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00151)
+  *[4;35;1mTask Load (0.000265)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001939)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Load (0.000312)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001653)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01601)
+  *[4;35;1mAssignment Load (0.000300)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00021)
+Rendered projects/_task (0.00094)
+Rendered projects/_task (0.00059)
+Rendered projects/_task (0.00051)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00082)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00077)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00075)
+  *[4;35;1mCategory Load (0.000280)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001743)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mCategory Exists (0.000340)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00527)
+  *[4;36;1mCategory Exists (0.000274)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00116)
+  *[4;35;1mCategory Exists (0.000244)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00114)
+  *[4;36;1mTag Load (0.000227)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+  *[4;35;1mTag Columns (0.001624)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Exists (0.000405)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00471)
+  *[4;35;1mTag Exists (0.000255)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00116)
+  *[4;36;1mTag Exists (0.000218)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00099)
+  *[4;35;1mTag Exists (0.000260)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00114)
+  *[4;36;1mSQL (0.000148)*[0m   *[0;1mselect count(*) from projects_tags*[0m
+
+
+ActionView::TemplateError (undefined method `value' for {&quot;count(*)&quot;=&gt;&quot;0&quot;}:Hash) on line #3 of projects/edit.html.erb:
+1: &lt;h1&gt;Editing project&lt;/h1&gt;
+2: 
+3: &lt;%= render :partial =&gt; &quot;form&quot; %&gt;
+4: 
+5: &lt;%= link_to 'Show', @project %&gt; |
+6: &lt;%= link_to 'Back', projects_path %&gt;
+
+    app/views/projects/_form.html.erb:89:in `_run_erb_47app47views47projects47_form46html46erb'
+    vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:269:in `fields_for'
+    vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:205:in `form_for'
+    app/views/projects/_form.html.erb:19:in `_run_erb_47app47views47projects47_form46html46erb'
+    vendor/rails/actionpack/lib/action_view/base.rb:344:in `send'
+    vendor/rails/actionpack/lib/action_view/base.rb:344:in `execute'
+    vendor/rails/actionpack/lib/action_view/template_handlers/compilable.rb:29:in `send'
+    vendor/rails/actionpack/lib/action_view/template_handlers/compilable.rb:29:in `render'
+    vendor/rails/actionpack/lib/action_view/partial_template.rb:20:in `render'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:26:in `benchmark'
+    vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:8:in `realtime'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:26:in `benchmark'
+    vendor/rails/actionpack/lib/action_view/partial_template.rb:19:in `render'
+    vendor/rails/actionpack/lib/action_view/partials.rb:110:in `render_partial'
+    vendor/rails/actionpack/lib/action_view/base.rb:280:in `render'
+    app/views/projects/edit.html.erb:3:in `_run_erb_47app47views47projects47edit46html46erb'
+    vendor/rails/actionpack/lib/action_view/base.rb:344:in `send'
+    vendor/rails/actionpack/lib/action_view/base.rb:344:in `execute'
+    vendor/rails/actionpack/lib/action_view/template_handlers/compilable.rb:29:in `send'
+    vendor/rails/actionpack/lib/action_view/template_handlers/compilable.rb:29:in `render'
+    vendor/rails/actionpack/lib/action_view/template.rb:27:in `render'
+    vendor/rails/actionpack/lib/action_view/base.rb:289:in `render_template'
+    vendor/rails/actionpack/lib/action_view/base.rb:244:in `render_file'
+    vendor/rails/actionpack/lib/action_controller/base.rb:1106:in `render_for_file'
+    vendor/rails/actionpack/lib/action_controller/base.rb:838:in `render_with_no_layout'
+    vendor/rails/actionpack/lib/action_controller/layout.rb:253:in `render_without_benchmark'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render'
+    vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:8:in `realtime'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render'
+    vendor/rails/actionpack/lib/action_controller/base.rb:1155:in `default_render'
+    vendor/rails/actionpack/lib/action_controller/base.rb:1161:in `perform_action_without_filters'
+    vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters'
+    vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /opt/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
+    vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
+    vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
+    vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
+    vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
+    vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
+    vendor/rails/actionpack/lib/action_controller/base.rb:526:in `send'
+    vendor/rails/actionpack/lib/action_controller/base.rb:526:in `process_without_filters'
+    vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
+    vendor/rails/actionpack/lib/action_controller/session_management.rb:123:in `process'
+    vendor/rails/actionpack/lib/action_controller/base.rb:387:in `process'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:156:in `handle_request'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:97:in `dispatch'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `synchronize'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `dispatch'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:in `dispatch_cgi'
+    vendor/rails/actionpack/lib/action_controller/dispatcher.rb:11:in `dispatch'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/rails.rb:76:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/rails.rb:74:in `synchronize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/rails.rb:74:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:159:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:158:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:158:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:268:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:268:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:268:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/configurator.rb:282:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/configurator.rb:281:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/configurator.rb:281:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:128:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel/command.rb:212:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:281
+    /opt/local/bin/mongrel_rails:19:in `load'
+    /opt/local/bin/mongrel_rails:19
+
+Rendering /Users/jeff/Sites/lab/complex_forms_demo_app/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb (internal_server_error)
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 10:00:28) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.002309)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.000296)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;35;1mTask Columns (0.002034)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00238)
+  *[4;36;1mTask Load (0.000324)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.002196)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Load (0.000267)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001501)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01191)
+  *[4;36;1mAssignment Load (0.000318)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00021)
+Rendered projects/_task (0.00061)
+Rendered projects/_task (0.00060)
+Rendered projects/_task (0.00065)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00083)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00076)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00078)
+  *[4;36;1mCategory Load (0.000278)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.001739)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mCategory Exists (0.000308)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00466)
+  *[4;35;1mCategory Exists (0.000225)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00100)
+  *[4;36;1mCategory Exists (0.000158)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00073)
+  *[4;35;1mTag Load (0.000225)*[0m   *[0mSELECT * FROM `tags` *[0m
+  *[4;36;1mTag Columns (0.001713)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Exists (0.000291)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00429)
+  *[4;36;1mTag Exists (0.000230)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00105)
+  *[4;35;1mTag Exists (0.000211)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00097)
+  *[4;36;1mTag Exists (0.000240)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00102)
+  *[4;35;1mSQL (0.000167)*[0m   *[0mselect count(*) from projects_tags*[0m
+  *[4;36;1mProjectDetail Load (0.000221)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001536)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.08184)
+Completed in 0.10212 (9 reqs/sec) | Rendering: 0.07609 (74%) | DB: 0.02889 (28%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:00:37) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;0&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002369)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000353)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000291)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.002659)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000315)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.001980)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mJoin Table Columns (0.002858)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001680)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001772)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Load (0.000425)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '1') LIMIT 1*[0m
+  *[4;36;1mProjectDetail Load (0.000309)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001849)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mAssignment Load (0.000307)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.002117)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mSQL (0.000480)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mSQL (0.000133)*[0m   *[0mCOMMIT*[0m
+Rendering template within layouts/application
+Rendering projects/edit
+Rendered projects/_task (0.00072)
+  *[4;36;1mEmployee Load (0.000287)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001640)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01261)
+  *[4;36;1mEmployee Load (0.000412)*[0m   *[0;1mSELECT `employees`.* FROM `employees` INNER JOIN assignments ON employees.id = assignments.employee_id WHERE ((`assignments`.project_id = 1)) *[0m
+  *[4;35;1mCategory Load (0.000380)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+Rendered projects/_error_messages (0.01054)
+Rendered projects/_task (0.00049)
+Rendered projects/_task (0.00045)
+Rendered projects/_task (0.00044)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00068)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00060)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00060)
+  *[4;35;1mCategory Load (0.000250)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001780)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+Rendered projects/_category (0.00399)
+Rendered projects/_category (0.00034)
+Rendered projects/_category (0.00029)
+  *[4;35;1mTag Load (0.000247)*[0m   *[0mSELECT * FROM `tags` *[0m
+Rendered projects/_tag (0.00032)
+Rendered projects/_tag (0.00028)
+Rendered projects/_tag (0.00027)
+Rendered projects/_tag (0.00028)
+  *[4;36;1mSQL (0.000255)*[0m   *[0;1mselect count(*) from projects_tags*[0m
+Rendered projects/_form (0.04732)
+Completed in 0.12301 (8 reqs/sec) | Rendering: 0.04562 (37%) | DB: 0.02515 (20%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:00:46) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;0&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Yo&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.002344)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.000325)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;35;1mTask Load (0.000699)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mTask Columns (0.001869)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+  *[4;35;1mCategorization Load (0.000357)*[0m   *[0mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;36;1mCategorization Columns (0.001999)*[0m   *[0;1mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;35;1mJoin Table Columns (0.002300)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.001189)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mTag Columns (0.001816)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Load (0.000727)*[0m   *[0;1mSELECT * FROM `tags` WHERE (`tags`.`id` = '1') LIMIT 1*[0m
+  *[4;35;1mProjectDetail Load (0.000313)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.002354)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+  *[4;35;1mAssignment Load (0.000536)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001670)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mSQL (0.000142)*[0m   *[0mBEGIN*[0m
+  *[4;36;1mProject Update (0.000349)*[0m   *[0;1mUPDATE `projects` SET `created_at` = '2008-04-16 05:34:01', `updated_at` = '2008-05-08 10:00:46', `name` = 'Apollo 11' WHERE `id` = 1*[0m
+  *[4;35;1mTask Update (0.000239)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:42', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:00:46', `name` = 'Take Off' WHERE `id` = 4*[0m
+  *[4;36;1mTask Update (0.000353)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:54', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:00:46', `name` = 'Land on Moon' WHERE `id` = 5*[0m
+  *[4;35;1mTask Update (0.000221)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:40:11', `complete` = 0, `project_id` = 1, `updated_at` = '2008-05-08 10:00:46', `name` = 'Come Back Safely' WHERE `id` = 6*[0m
+  *[4;36;1mAssignment Update (0.000220)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Commander', `employee_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:00:46' WHERE `id` = 1*[0m
+  *[4;35;1mAssignment Update (0.000231)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Command Module Pilot', `employee_id` = 2, `project_id` = 1, `updated_at` = '2008-05-08 10:00:46' WHERE `id` = 2*[0m
+  *[4;36;1mAssignment Update (0.000210)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:42:08', `title` = 'Lunar Module Pilot', `employee_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 10:00:46' WHERE `id` = 3*[0m
+  *[4;35;1mCategorization Update (0.000219)*[0m   *[0mUPDATE `categorizations` SET `created_at` = '2008-05-08 06:29:50', `category_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:00:46' WHERE `id` = 10*[0m
+  *[4;36;1mCategorization Update (0.000234)*[0m   *[0;1mUPDATE `categorizations` SET `created_at` = '2008-05-08 07:18:16', `category_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 10:00:46' WHERE `id` = 12*[0m
+  *[4;35;1mJoin Table Columns (0.001754)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000854)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mprojects_tags Columns (0.001598)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mSQL (0.000369)*[0m   *[0;1mINSERT INTO `projects_tags` (`updated_at`, `project_id`, `tag_id`, `id`, `created_at`) VALUES ('2008-05-08 09:24:29', 1, 1, 1, '2008-05-08 09:24:29')*[0m
+  *[4;35;1mProjectDetail Update (0.000391)*[0m   *[0mUPDATE `project_details` SET `created_at` = '2008-05-08 08:57:29', `description` = 'Yo', `project_id` = 1, `updated_at` = '2008-05-08 10:00:46' WHERE `id` = 3*[0m
+  *[4;36;1mSQL (0.000749)*[0m   *[0;1mCOMMIT*[0m
+Redirected to http://localhost:3060/projects/1
+Completed in 0.09693 (10 reqs/sec) | DB: 0.02663 (27%) | 302 Found [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 10:00:46) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7BjoLbm90aWNlIiZQcm9qZWN0IHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRl%0AZC4GOgpAdXNlZHsGOwdU--15f2cd631b0e93ecb6aa1aeeeb848fd1903c308f
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.001687)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.001211)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;35;1mTask Load (0.000355)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mTask Columns (0.002033)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+  *[4;35;1mAssignment Load (0.000328)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.002307)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Columns (0.003144)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+  *[4;36;1mEmployee Load (0.000797)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;35;1mEmployee Load (0.000233)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;36;1mEmployee Load (0.000189)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;35;1mCategory Load (0.000362)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;36;1mCategory Columns (0.001643)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mProjectDetail Load (0.000311)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001741)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+  *[4;35;1mJoin Table Columns (0.003242)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000961)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mTag Columns (0.001850)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+Completed in 0.08676 (11 reqs/sec) | Rendering: 0.05443 (62%) | DB: 0.02239 (25%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 10:00:50) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002465)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000335)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;36;1mTask Columns (0.001949)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00231)
+  *[4;35;1mTask Load (0.000482)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.002127)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Load (0.000289)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001677)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01453)
+  *[4;35;1mAssignment Load (0.000311)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00018)
+Rendered projects/_task (0.00053)
+Rendered projects/_task (0.00047)
+Rendered projects/_task (0.00041)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00067)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00060)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00060)
+  *[4;35;1mCategory Load (0.000283)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001545)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mCategory Exists (0.000262)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00361)
+  *[4;36;1mCategory Exists (0.000175)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00076)
+  *[4;35;1mCategory Exists (0.000192)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00075)
+  *[4;36;1mTag Load (0.000217)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+  *[4;35;1mTag Columns (0.001489)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Exists (0.000224)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00328)
+  *[4;35;1mTag Exists (0.000166)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00069)
+  *[4;36;1mTag Exists (0.000155)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00066)
+  *[4;35;1mTag Exists (0.000150)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00065)
+  *[4;36;1mSQL (0.000126)*[0m   *[0;1mselect count(*) from projects_tags*[0m
+  *[4;35;1mProjectDetail Load (0.000225)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001842)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.08310)
+Completed in 0.09953 (10 reqs/sec) | Rendering: 0.07289 (73%) | DB: 0.01669 (16%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 10:01:40) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.001982)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.000733)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;35;1mTask Columns (0.001923)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00235)
+  *[4;36;1mTask Load (0.000323)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001712)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Load (0.000354)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001702)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01228)
+  *[4;36;1mAssignment Load (0.000312)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00020)
+Rendered projects/_task (0.00080)
+Rendered projects/_task (0.00066)
+Rendered projects/_task (0.00072)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00102)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00098)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00097)
+  *[4;36;1mCategory Load (0.000268)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.001809)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mCategory Exists (0.000325)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00471)
+  *[4;35;1mCategory Exists (0.000297)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00110)
+  *[4;36;1mCategory Exists (0.000239)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00103)
+  *[4;35;1mTag Load (0.000220)*[0m   *[0mSELECT * FROM `tags` *[0m
+  *[4;36;1mTag Columns (0.001631)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Exists (0.000318)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00469)
+  *[4;36;1mTag Exists (0.000253)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00111)
+  *[4;35;1mTag Exists (0.000215)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00100)
+  *[4;36;1mTag Exists (0.000218)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00100)
+  *[4;35;1mSQL (0.000216)*[0m   *[0mselect count(*) from projects_tags*[0m
+  *[4;36;1mJoin Table Columns (0.001651)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000896)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mProjectDetail Load (0.000337)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001849)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.09394)
+Completed in 0.18145 (5 reqs/sec) | Rendering: 0.08422 (46%) | DB: 0.01978 (10%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 10:01:57) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002556)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000888)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;36;1mTask Columns (0.001923)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00151)
+  *[4;35;1mTask Load (0.000274)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001942)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Load (0.000318)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001834)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01613)
+  *[4;35;1mAssignment Load (0.000320)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00020)
+Rendered projects/_task (0.00065)
+Rendered projects/_task (0.00068)
+Rendered projects/_task (0.00053)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00068)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00060)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00059)
+  *[4;35;1mCategory Load (0.000280)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001529)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mCategory Exists (0.000262)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00357)
+  *[4;36;1mCategory Exists (0.000174)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00075)
+  *[4;35;1mCategory Exists (0.000169)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00073)
+  *[4;36;1mTag Load (0.000220)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+  *[4;35;1mTag Columns (0.001528)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Exists (0.000972)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00423)
+  *[4;35;1mTag Exists (0.000252)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00133)
+  *[4;36;1mTag Exists (0.000240)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00116)
+  *[4;35;1mTag Exists (0.000262)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00118)
+  *[4;36;1mSQL (0.000184)*[0m   *[0;1mselect count(*) from projects_tags*[0m
+  *[4;35;1mJoin Table Columns (0.001932)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000836)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mProjectDetail Load (0.001122)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001735)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.15562)
+Completed in 0.17867 (5 reqs/sec) | Rendering: 0.14750 (82%) | DB: 0.02175 (12%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 10:02:30) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.001957)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.001421)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;35;1mTask Columns (0.002039)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00224)
+  *[4;36;1mTask Load (0.000382)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.002063)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Load (0.000388)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001717)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01719)
+  *[4;36;1mAssignment Load (0.000330)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00025)
+Rendered projects/_task (0.00065)
+Rendered projects/_task (0.00061)
+Rendered projects/_task (0.00055)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00086)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00082)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00079)
+  *[4;36;1mCategory Load (0.000293)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.001757)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mCategory Exists (0.000351)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00512)
+  *[4;35;1mCategory Exists (0.000280)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00124)
+  *[4;36;1mCategory Exists (0.000244)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00112)
+  *[4;35;1mTag Load (0.000279)*[0m   *[0mSELECT * FROM `tags` *[0m
+  *[4;36;1mTag Columns (0.001632)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Exists (0.000377)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00460)
+  *[4;36;1mTag Exists (0.000399)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00149)
+  *[4;35;1mTag Exists (0.000252)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00106)
+  *[4;36;1mTag Exists (0.000217)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00098)
+  *[4;35;1mSQL (0.000168)*[0m   *[0mselect count(*) from projects_tags*[0m
+  *[4;36;1mJoin Table Columns (0.001773)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001874)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mProjectDetail Load (0.000302)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001729)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.16730)
+Completed in 0.19159 (5 reqs/sec) | Rendering: 0.15971 (83%) | DB: 0.02222 (11%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:02:45) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;1&quot;, &quot;3&quot;=&gt;&quot;1&quot;, &quot;4&quot;=&gt;&quot;0&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Yo&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001820)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001391)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000313)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001972)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000370)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.001719)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mJoin Table Columns (0.001933)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000358)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001717)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Load (0.000278)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '2') LIMIT 1*[0m
+  *[4;36;1mTag Load (0.000210)*[0m   *[0;1mSELECT * FROM `tags` WHERE (`tags`.`id` = '3') LIMIT 1*[0m
+  *[4;35;1mProjectDetail Load (0.000445)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001810)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+  *[4;35;1mAssignment Load (0.000359)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001871)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mSQL (0.000135)*[0m   *[0mBEGIN*[0m
+  *[4;36;1mProject Update (0.000325)*[0m   *[0;1mUPDATE `projects` SET `created_at` = '2008-04-16 05:34:01', `updated_at` = '2008-05-08 10:02:45', `name` = 'Apollo 11' WHERE `id` = 1*[0m
+  *[4;35;1mTask Update (0.000268)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:42', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:02:45', `name` = 'Take Off' WHERE `id` = 4*[0m
+  *[4;36;1mTask Update (0.000334)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:54', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:02:45', `name` = 'Land on Moon' WHERE `id` = 5*[0m
+  *[4;35;1mTask Update (0.000208)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:40:11', `complete` = 0, `project_id` = 1, `updated_at` = '2008-05-08 10:02:45', `name` = 'Come Back Safely' WHERE `id` = 6*[0m
+  *[4;36;1mAssignment Update (0.000213)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Commander', `employee_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:02:45' WHERE `id` = 1*[0m
+  *[4;35;1mAssignment Update (0.000210)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Command Module Pilot', `employee_id` = 2, `project_id` = 1, `updated_at` = '2008-05-08 10:02:45' WHERE `id` = 2*[0m
+  *[4;36;1mAssignment Update (0.000197)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:42:08', `title` = 'Lunar Module Pilot', `employee_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 10:02:45' WHERE `id` = 3*[0m
+  *[4;35;1mCategorization Update (0.000236)*[0m   *[0mUPDATE `categorizations` SET `created_at` = '2008-05-08 06:29:50', `category_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:02:45' WHERE `id` = 10*[0m
+  *[4;36;1mCategorization Update (0.000134)*[0m   *[0;1mUPDATE `categorizations` SET `created_at` = '2008-05-08 07:18:16', `category_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 10:02:45' WHERE `id` = 12*[0m
+  *[4;35;1mJoin Table Columns (0.001869)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000665)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mprojects_tags Columns (0.002558)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mSQL (0.000441)*[0m   *[0;1mINSERT INTO `projects_tags` (`updated_at`, `project_id`, `tag_id`, `id`, `created_at`) VALUES ('2008-05-08 09:24:33', 1, 2, 2, '2008-05-08 09:24:33')*[0m
+  *[4;35;1mprojects_tags Columns (0.002080)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mSQL (0.000572)*[0m   *[0;1mINSERT INTO `projects_tags` (`updated_at`, `project_id`, `tag_id`, `id`, `created_at`) VALUES ('2008-05-08 09:24:37', 1, 3, 3, '2008-05-08 09:24:37')*[0m
+  *[4;35;1mSQL (0.000874)*[0m   *[0mCOMMIT*[0m
+Redirected to http://localhost:3060/projects/1
+Completed in 0.16963 (5 reqs/sec) | DB: 0.02789 (16%) | 302 Found [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 10:02:45) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7BjoLbm90aWNlIiZQcm9qZWN0IHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRl%0AZC4GOgpAdXNlZHsGOwdU--15f2cd631b0e93ecb6aa1aeeeb848fd1903c308f
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001893)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001489)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;36;1mTask Load (0.000373)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.002026)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mAssignment Load (0.001802)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001637)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Columns (0.001803)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+  *[4;35;1mEmployee Load (0.001134)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;36;1mEmployee Load (0.000307)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;35;1mEmployee Load (0.000189)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;36;1mCategory Load (0.000368)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;35;1mCategory Columns (0.001505)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mProjectDetail Load (0.000280)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001670)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mJoin Table Columns (0.001807)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001043)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.002051)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+Completed in 0.08387 (11 reqs/sec) | Rendering: 0.05204 (62%) | DB: 0.02138 (25%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 10:02:48) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.002330)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.000284)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;35;1mTask Columns (0.001815)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00148)
+  *[4;36;1mTask Load (0.000284)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001855)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Load (0.000304)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001761)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.08317)
+  *[4;36;1mAssignment Load (0.000331)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00028)
+Rendered projects/_task (0.00072)
+Rendered projects/_task (0.00066)
+Rendered projects/_task (0.00065)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00098)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00090)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00092)
+  *[4;36;1mCategory Load (0.000312)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.001794)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mCategory Exists (0.000355)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00529)
+  *[4;35;1mCategory Exists (0.000247)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00113)
+  *[4;36;1mCategory Exists (0.000252)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00111)
+  *[4;35;1mTag Load (0.000264)*[0m   *[0mSELECT * FROM `tags` *[0m
+  *[4;36;1mTag Columns (0.001623)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Exists (0.000959)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00556)
+  *[4;36;1mTag Exists (0.000238)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00108)
+  *[4;35;1mTag Exists (0.000231)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00105)
+  *[4;36;1mTag Exists (0.000234)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00103)
+  *[4;35;1mSQL (0.000181)*[0m   *[0mselect count(*) from projects_tags*[0m
+  *[4;36;1mJoin Table Columns (0.002085)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001652)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mProjectDetail Load (0.000295)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.002014)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.16816)
+Completed in 0.18410 (5 reqs/sec) | Rendering: 0.15288 (83%) | DB: 0.02170 (11%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:02:55) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;1&quot;, &quot;3&quot;=&gt;&quot;1&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001821)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001497)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000310)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001754)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000344)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.001757)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mJoin Table Columns (0.002226)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000807)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001597)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Load (0.000242)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '4') LIMIT 1*[0m
+  *[4;36;1mProjectDetail Load (0.000468)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.002333)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mAssignment Load (0.000931)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001995)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mSQL (0.000139)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mSQL (0.000137)*[0m   *[0mCOMMIT*[0m
+Rendering template within layouts/application
+Rendering projects/edit
+Rendered projects/_task (0.00079)
+  *[4;36;1mEmployee Load (0.000320)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.002230)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.08013)
+  *[4;36;1mEmployee Load (0.000572)*[0m   *[0;1mSELECT `employees`.* FROM `employees` INNER JOIN assignments ON employees.id = assignments.employee_id WHERE ((`assignments`.project_id = 1)) *[0m
+  *[4;35;1mCategory Load (0.000355)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+Rendered projects/_error_messages (0.00969)
+Rendered projects/_task (0.00047)
+Rendered projects/_task (0.00043)
+Rendered projects/_task (0.00042)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00076)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00063)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00070)
+  *[4;35;1mCategory Load (0.000227)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001771)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+Rendered projects/_category (0.00439)
+Rendered projects/_category (0.00036)
+Rendered projects/_category (0.00031)
+  *[4;35;1mTag Load (0.000304)*[0m   *[0mSELECT * FROM `tags` *[0m
+Rendered projects/_tag (0.00033)
+Rendered projects/_tag (0.00030)
+Rendered projects/_tag (0.00030)
+Rendered projects/_tag (0.00039)
+  *[4;36;1mSQL (0.000216)*[0m   *[0;1mselect count(*) from projects_tags*[0m
+Rendered projects/_form (0.11676)
+Completed in 0.19648 (5 reqs/sec) | Rendering: 0.11443 (58%) | DB: 0.02435 (12%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:03:01) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.001650)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.001622)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;35;1mTask Load (0.000337)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mTask Columns (0.001959)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+  *[4;35;1mCategorization Load (0.000440)*[0m   *[0mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;36;1mCategorization Columns (0.001765)*[0m   *[0;1mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;35;1mJoin Table Columns (0.002460)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.001796)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mTag Columns (0.001609)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Load (0.000296)*[0m   *[0;1mSELECT * FROM `tags` WHERE (`tags`.`id` = '4') LIMIT 1*[0m
+  *[4;35;1mProjectDetail Load (0.000434)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001639)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+  *[4;35;1mAssignment Load (0.000372)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001728)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mSQL (0.000103)*[0m   *[0mBEGIN*[0m
+  *[4;36;1mSQL (0.000090)*[0m   *[0;1mCOMMIT*[0m
+Rendering template within layouts/application
+Rendering projects/edit
+Rendered projects/_task (0.00056)
+  *[4;35;1mEmployee Load (0.000281)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001523)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.07763)
+  *[4;35;1mEmployee Load (0.000412)*[0m   *[0mSELECT `employees`.* FROM `employees` INNER JOIN assignments ON employees.id = assignments.employee_id WHERE ((`assignments`.project_id = 1)) *[0m
+  *[4;36;1mCategory Load (0.000378)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+Rendered projects/_error_messages (0.00955)
+Rendered projects/_task (0.00047)
+Rendered projects/_task (0.00043)
+Rendered projects/_task (0.00042)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00068)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00062)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00062)
+  *[4;36;1mCategory Load (0.000254)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.006213)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+Rendered projects/_category (0.00856)
+Rendered projects/_category (0.00035)
+Rendered projects/_category (0.00030)
+  *[4;36;1mTag Load (0.000273)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+Rendered projects/_tag (0.00037)
+Rendered projects/_tag (0.00029)
+Rendered projects/_tag (0.00028)
+Rendered projects/_tag (0.00030)
+  *[4;35;1mSQL (0.000210)*[0m   *[0mselect count(*) from projects_tags*[0m
+Rendered projects/_form (0.11412)
+Completed in 0.18605 (5 reqs/sec) | Rendering: 0.10776 (57%) | DB: 0.02784 (14%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:03:06) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Test&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002551)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.004373)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000374)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001854)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000347)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.002420)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mJoin Table Columns (0.001817)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001316)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001610)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Load (0.000302)*[0m   *[0mSELECT * FROM `tags` WHERE (`tags`.`id` = '4') LIMIT 1*[0m
+  *[4;36;1mProjectDetail Load (0.000275)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001533)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mAssignment Load (0.000259)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001699)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mSQL (0.000145)*[0m   *[0;1mBEGIN*[0m
+  *[4;35;1mProject Update (0.000296)*[0m   *[0mUPDATE `projects` SET `created_at` = '2008-04-16 05:34:01', `updated_at` = '2008-05-08 10:03:06', `name` = 'Apollo 11' WHERE `id` = 1*[0m
+  *[4;36;1mTask Update (0.000155)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:42', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:03:06', `name` = 'Take Off' WHERE `id` = 4*[0m
+  *[4;35;1mTask Update (0.000137)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:54', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:03:06', `name` = 'Land on Moon' WHERE `id` = 5*[0m
+  *[4;36;1mTask Update (0.000135)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:40:11', `complete` = 0, `project_id` = 1, `updated_at` = '2008-05-08 10:03:06', `name` = 'Come Back Safely' WHERE `id` = 6*[0m
+  *[4;35;1mAssignment Update (0.000147)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Commander', `employee_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:03:06' WHERE `id` = 1*[0m
+  *[4;36;1mAssignment Update (0.000158)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Command Module Pilot', `employee_id` = 2, `project_id` = 1, `updated_at` = '2008-05-08 10:03:06' WHERE `id` = 2*[0m
+  *[4;35;1mAssignment Update (0.000158)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:42:08', `title` = 'Lunar Module Pilot', `employee_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 10:03:06' WHERE `id` = 3*[0m
+  *[4;36;1mCategorization Update (0.000265)*[0m   *[0;1mUPDATE `categorizations` SET `created_at` = '2008-05-08 06:29:50', `category_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:03:06' WHERE `id` = 10*[0m
+  *[4;35;1mCategorization Update (0.000122)*[0m   *[0mUPDATE `categorizations` SET `created_at` = '2008-05-08 07:18:16', `category_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 10:03:06' WHERE `id` = 12*[0m
+  *[4;36;1mJoin Table Columns (0.001334)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001671)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mprojects_tags Columns (0.001607)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mSQL (0.000451)*[0m   *[0mINSERT INTO `projects_tags` (`updated_at`, `project_id`, `tag_id`, `id`, `created_at`) VALUES ('2008-05-08 09:24:41', 1, 4, 4, '2008-05-08 09:24:41')*[0m
+  *[4;36;1mSQL (0.000236)*[0m   *[0;1mDELETE FROM `projects_tags` WHERE project_id = 1 AND tag_id IN (2)*[0m
+  *[4;35;1mSQL (0.000199)*[0m   *[0mDELETE FROM `projects_tags` WHERE project_id = 1 AND tag_id IN (3)*[0m
+  *[4;36;1mProjectDetail Update (0.000274)*[0m   *[0;1mUPDATE `project_details` SET `created_at` = '2008-05-08 08:57:29', `description` = 'Test', `project_id` = 1, `updated_at` = '2008-05-08 10:03:06' WHERE `id` = 3*[0m
+  *[4;35;1mSQL (0.000656)*[0m   *[0mCOMMIT*[0m
+Redirected to http://localhost:3060/projects/1
+Completed in 0.09312 (10 reqs/sec) | DB: 0.02888 (31%) | 302 Found [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 10:03:06) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7BjoLbm90aWNlIiZQcm9qZWN0IHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRl%0AZC4GOgpAdXNlZHsGOwdU--15f2cd631b0e93ecb6aa1aeeeb848fd1903c308f
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001677)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.002092)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;36;1mTask Load (0.000377)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001959)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mAssignment Load (0.000330)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001912)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Columns (0.002208)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+  *[4;35;1mEmployee Load (0.000660)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;36;1mEmployee Load (0.000198)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;35;1mEmployee Load (0.000190)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;36;1mCategory Load (0.000321)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;35;1mCategory Columns (0.001575)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mProjectDetail Load (0.000238)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001632)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mJoin Table Columns (0.001850)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001058)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001850)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+Completed in 0.08248 (12 reqs/sec) | Rendering: 0.05166 (62%) | DB: 0.02013 (24%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 10:28:18) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.002528)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.001476)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;35;1mTask Columns (0.001880)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00153)
+  *[4;36;1mTask Load (0.000294)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001883)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Load (0.000313)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001719)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.08246)
+  *[4;36;1mAssignment Load (0.000436)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00024)
+Rendered projects/_task (0.00052)
+Rendered projects/_task (0.00045)
+Rendered projects/_task (0.00043)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00072)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00064)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00064)
+  *[4;36;1mCategory Load (0.000296)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.001951)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mCategory Exists (0.000358)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00520)
+  *[4;35;1mCategory Exists (0.000256)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00114)
+  *[4;36;1mCategory Exists (0.000254)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00116)
+  *[4;35;1mTag Load (0.000237)*[0m   *[0mSELECT * FROM `tags` *[0m
+  *[4;36;1mTag Columns (0.001469)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Exists (0.000225)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00318)
+  *[4;36;1mTag Exists (0.000160)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00068)
+  *[4;35;1mTag Exists (0.000152)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00068)
+  *[4;36;1mTag Exists (0.000163)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00067)
+  *[4;35;1mSQL (0.000125)*[0m   *[0mselect count(*) from projects_tags*[0m
+  *[4;36;1mJoin Table Columns (0.001572)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001640)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mProjectDetail Load (0.000309)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001832)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.16330)
+Completed in 0.18124 (5 reqs/sec) | Rendering: 0.14995 (82%) | DB: 0.02153 (11%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:28:22) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Test&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.002393)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000658)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000367)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001991)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mCategorization Load (0.000390)*[0m   *[0;1mSELECT * FROM `categorizations` WHERE (`categorizations`.project_id = 1) *[0m
+  *[4;35;1mCategorization Columns (0.001797)*[0m   *[0mSHOW FIELDS FROM `categorizations`*[0m
+  *[4;36;1mJoin Table Columns (0.002102)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001907)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001720)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mProjectDetail Load (0.000503)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.001743)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+  *[4;35;1mAssignment Load (0.000342)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.001828)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mSQL (0.000139)*[0m   *[0mBEGIN*[0m
+  *[4;36;1mProject Update (0.000333)*[0m   *[0;1mUPDATE `projects` SET `created_at` = '2008-04-16 05:34:01', `updated_at` = '2008-05-08 10:28:22', `name` = 'Apollo 11' WHERE `id` = 1*[0m
+  *[4;35;1mTask Update (0.000161)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:42', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:28:22', `name` = 'Take Off' WHERE `id` = 4*[0m
+  *[4;36;1mTask Update (0.000139)*[0m   *[0;1mUPDATE `tasks` SET `created_at` = '2008-04-16 05:39:54', `complete` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:28:22', `name` = 'Land on Moon' WHERE `id` = 5*[0m
+  *[4;35;1mTask Update (0.000149)*[0m   *[0mUPDATE `tasks` SET `created_at` = '2008-04-16 05:40:11', `complete` = 0, `project_id` = 1, `updated_at` = '2008-05-08 10:28:22', `name` = 'Come Back Safely' WHERE `id` = 6*[0m
+  *[4;36;1mAssignment Update (0.000233)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Commander', `employee_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:28:22' WHERE `id` = 1*[0m
+  *[4;35;1mAssignment Update (0.000152)*[0m   *[0mUPDATE `assignments` SET `created_at` = '2008-04-16 05:41:07', `title` = 'Command Module Pilot', `employee_id` = 2, `project_id` = 1, `updated_at` = '2008-05-08 10:28:22' WHERE `id` = 2*[0m
+  *[4;36;1mAssignment Update (0.000142)*[0m   *[0;1mUPDATE `assignments` SET `created_at` = '2008-04-16 05:42:08', `title` = 'Lunar Module Pilot', `employee_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 10:28:22' WHERE `id` = 3*[0m
+  *[4;35;1mCategorization Update (0.000153)*[0m   *[0mUPDATE `categorizations` SET `created_at` = '2008-05-08 06:29:50', `category_id` = 1, `project_id` = 1, `updated_at` = '2008-05-08 10:28:22' WHERE `id` = 10*[0m
+  *[4;36;1mCategorization Update (0.000135)*[0m   *[0;1mUPDATE `categorizations` SET `created_at` = '2008-05-08 07:18:16', `category_id` = 3, `project_id` = 1, `updated_at` = '2008-05-08 10:28:22' WHERE `id` = 12*[0m
+  *[4;35;1mJoin Table Columns (0.001669)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.000745)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mSQL (0.000668)*[0m   *[0mCOMMIT*[0m
+Redirected to http://localhost:3060/projects/1
+Completed in 0.08567 (11 reqs/sec) | DB: 0.02256 (26%) | 302 Found [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 10:28:22) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7BjoLbm90aWNlIiZQcm9qZWN0IHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRl%0AZC4GOgpAdXNlZHsGOwdU--15f2cd631b0e93ecb6aa1aeeeb848fd1903c308f
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001810)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001005)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;36;1mTask Load (0.000343)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.002015)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mAssignment Load (0.000336)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.002362)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Columns (0.001884)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+  *[4;35;1mEmployee Load (0.000917)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;36;1mEmployee Load (0.000257)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;35;1mEmployee Load (0.000208)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;36;1mCategory Load (0.000455)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;35;1mCategory Columns (0.001659)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mProjectDetail Load (0.000272)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001679)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mJoin Table Columns (0.001944)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000863)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.002012)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+Completed in 0.08727 (11 reqs/sec) | Rendering: 0.05684 (65%) | DB: 0.02002 (22%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#show (for 127.0.0.1 at 2008-05-08 10:28:36) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;show&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mSQL (0.000271)*[0m   *[0;1mSET NAMES 'utf8'*[0m
+  *[4;35;1mSQL (0.000199)*[0m   *[0mSET SQL_AUTO_IS_NULL=0*[0m
+  *[4;36;1mProject Columns (0.002879)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000330)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/show
+  *[4;36;1mTask Load (0.000353)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001825)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+  *[4;36;1mAssignment Load (0.000289)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001690)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Columns (0.001818)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+  *[4;35;1mEmployee Load (0.000835)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 1) *[0m
+  *[4;36;1mEmployee Load (0.000229)*[0m   *[0;1mSELECT * FROM `employees` WHERE (`employees`.`id` = 2) *[0m
+  *[4;35;1mEmployee Load (0.000218)*[0m   *[0mSELECT * FROM `employees` WHERE (`employees`.`id` = 3) *[0m
+  *[4;36;1mCategory Load (0.000399)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE ((`categorizations`.project_id = 1)) *[0m
+  *[4;35;1mCategory Columns (0.001637)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mProjectDetail Load (0.000342)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001767)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+  *[4;36;1mJoin Table Columns (0.001834)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.000824)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mTag Columns (0.001915)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+Completed in 0.09411 (10 reqs/sec) | Rendering: 0.05865 (62%) | DB: 0.01965 (20%) | 200 OK [http://localhost/projects/1]
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 10:28:39) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.002186)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.000626)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;35;1mTask Columns (0.001992)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00216)
+  *[4;36;1mTask Load (0.000353)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mAssignment Columns (0.001858)*[0m   *[0mSHOW FIELDS FROM `assignments`*[0m
+  *[4;36;1mEmployee Load (0.000304)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+  *[4;35;1mEmployee Columns (0.001947)*[0m   *[0mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01783)
+  *[4;36;1mAssignment Load (0.000327)*[0m   *[0;1mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00017)
+Rendered projects/_task (0.00052)
+Rendered projects/_task (0.00047)
+Rendered projects/_task (0.00044)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00067)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00060)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00062)
+  *[4;36;1mCategory Load (0.000276)*[0m   *[0;1mSELECT * FROM `categories` *[0m
+  *[4;35;1mCategory Columns (0.001651)*[0m   *[0mSHOW FIELDS FROM `categories`*[0m
+  *[4;36;1mCategory Exists (0.000356)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00500)
+  *[4;35;1mCategory Exists (0.000261)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00114)
+  *[4;36;1mCategory Exists (0.000277)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00115)
+  *[4;35;1mTag Load (0.000572)*[0m   *[0mSELECT * FROM `tags` *[0m
+  *[4;36;1mTag Columns (0.001680)*[0m   *[0;1mSHOW FIELDS FROM `tags`*[0m
+  *[4;35;1mTag Exists (0.000333)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00471)
+  *[4;36;1mTag Exists (0.000254)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00177)
+  *[4;35;1mTag Exists (0.000355)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00199)
+  *[4;36;1mTag Exists (0.000259)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00109)
+  *[4;35;1mSQL (0.000176)*[0m   *[0mselect count(*) from projects_tags*[0m
+  *[4;36;1mJoin Table Columns (0.001822)*[0m   *[0;1mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;35;1mTag Load (0.001050)*[0m   *[0mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;36;1mProjectDetail Load (0.000287)*[0m   *[0;1mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;35;1mProjectDetail Columns (0.001812)*[0m   *[0mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.10398)
+Completed in 0.12426 (8 reqs/sec) | Rendering: 0.09346 (75%) | DB: 0.02101 (16%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:28:41) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Test&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.001845)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.001362)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000336)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001824)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+
+
+RuntimeError ({&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}):
+    /vendor/plugins/complex_forms_helper/lib/association_creation_from_params.rb:39:in `category_attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `send'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `each'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2226:in `update_attributes'
+    /app/controllers/projects_controller.rb:70:in `update'
+    /vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `call'
+    /vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `respond_to'
+    /app/controllers/projects_controller.rb:69:in `update'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `perform_action_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /opt/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
+    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
+    /vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `process_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
+    /vendor/rails/actionpack/lib/action_controller/session_management.rb:123:in `process'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:387:in `process'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:156:in `handle_request'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:97:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `synchronize'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:in `dispatch_cgi'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:11:in `dispatch'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:76:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `synchronize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:159:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:282:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:128:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/command.rb:212:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:281
+
+Rendering /Users/jeff/Sites/lab/complex_forms_demo_app/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb (internal_server_error)
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:29:51) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;new_task_attributes&quot;=&gt;{&quot;3&quot;=&gt;{&quot;name&quot;=&gt;&quot;Task One&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Task Two&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Test&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mSQL (0.000271)*[0m   *[0;1mSET NAMES 'utf8'*[0m
+  *[4;35;1mSQL (0.000117)*[0m   *[0mSET SQL_AUTO_IS_NULL=0*[0m
+  *[4;36;1mProject Columns (0.002681)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000880)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+  *[4;36;1mTask Load (0.000524)*[0m   *[0;1mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;35;1mTask Columns (0.001818)*[0m   *[0mSHOW FIELDS FROM `tasks`*[0m
+
+
+RuntimeError ({&quot;3&quot;=&gt;{&quot;name&quot;=&gt;&quot;Task One&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Task Two&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}):
+    /vendor/plugins/complex_forms_helper/lib/association_creation_from_params.rb:66:in `new_task_attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `send'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `each'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2226:in `update_attributes'
+    /app/controllers/projects_controller.rb:70:in `update'
+    /vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `call'
+    /vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `respond_to'
+    /app/controllers/projects_controller.rb:69:in `update'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `perform_action_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /opt/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
+    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
+    /vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `process_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
+    /vendor/rails/actionpack/lib/action_controller/session_management.rb:123:in `process'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:387:in `process'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:156:in `handle_request'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:97:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `synchronize'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:in `dispatch_cgi'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:11:in `dispatch'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:76:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `synchronize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:159:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:282:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:128:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/command.rb:212:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:281
+
+Rendering /Users/jeff/Sites/lab/complex_forms_demo_app/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb (internal_server_error)
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:30:39) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;new_task_attributes&quot;=&gt;{&quot;3&quot;=&gt;{&quot;name&quot;=&gt;&quot;Task One&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Task Two&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Test&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mSQL (0.000272)*[0m   *[0;1mSET NAMES 'utf8'*[0m
+  *[4;35;1mSQL (0.000097)*[0m   *[0mSET SQL_AUTO_IS_NULL=0*[0m
+  *[4;36;1mProject Columns (0.002635)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.000375)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+
+
+RuntimeError ({}):
+    /vendor/plugins/complex_forms_helper/lib/association_creation_from_params.rb:72:in `existing_task_attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `send'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `each'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2226:in `update_attributes'
+    /app/controllers/projects_controller.rb:70:in `update'
+    /vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `call'
+    /vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `respond_to'
+    /app/controllers/projects_controller.rb:69:in `update'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `perform_action_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /opt/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
+    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
+    /vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `process_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
+    /vendor/rails/actionpack/lib/action_controller/session_management.rb:123:in `process'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:387:in `process'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:156:in `handle_request'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:97:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `synchronize'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:in `dispatch_cgi'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:11:in `dispatch'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:76:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `synchronize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:159:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:282:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:128:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/command.rb:212:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:281
+
+Rendering /Users/jeff/Sites/lab/complex_forms_demo_app/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb (internal_server_error)
+
+
+Processing ProjectsController#edit (for 127.0.0.1 at 2008-05-08 10:30:47) [GET]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;action&quot;=&gt;&quot;edit&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;36;1mProject Columns (0.013735)*[0m   *[0;1mSHOW FIELDS FROM `projects`*[0m
+  *[4;35;1mProject Load (0.027917)*[0m   *[0mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+Rendering template within layouts/application
+Rendering projects/edit
+  *[4;36;1mTask Columns (0.001818)*[0m   *[0;1mSHOW FIELDS FROM `tasks`*[0m
+Rendered projects/_task (0.00332)
+  *[4;35;1mTask Load (0.000390)*[0m   *[0mSELECT * FROM `tasks` WHERE (`tasks`.project_id = 1) *[0m
+  *[4;36;1mAssignment Columns (0.021962)*[0m   *[0;1mSHOW FIELDS FROM `assignments`*[0m
+  *[4;35;1mEmployee Load (0.000362)*[0m   *[0mSELECT * FROM `employees` *[0m
+  *[4;36;1mEmployee Columns (0.001936)*[0m   *[0;1mSHOW FIELDS FROM `employees`*[0m
+Rendered projects/_assignment (0.01470)
+  *[4;35;1mAssignment Load (0.000318)*[0m   *[0mSELECT * FROM `assignments` WHERE (`assignments`.project_id = 1) *[0m
+Rendered projects/_error_messages (0.00029)
+Rendered projects/_task (0.00086)
+Rendered projects/_task (0.00066)
+Rendered projects/_task (0.00065)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00094)
+  *[4;35;1mCACHE (0.000000)*[0m   *[0mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00086)
+  *[4;36;1mCACHE (0.000000)*[0m   *[0;1mSELECT * FROM `employees` *[0m
+Rendered projects/_assignment (0.00087)
+  *[4;35;1mCategory Load (0.000279)*[0m   *[0mSELECT * FROM `categories` *[0m
+  *[4;36;1mCategory Columns (0.001718)*[0m   *[0;1mSHOW FIELDS FROM `categories`*[0m
+  *[4;35;1mCategory Exists (0.000327)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 1) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00507)
+  *[4;36;1mCategory Exists (0.000265)*[0m   *[0;1mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 2) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00115)
+  *[4;35;1mCategory Exists (0.000278)*[0m   *[0mSELECT `categories`.* FROM `categories` INNER JOIN categorizations ON categories.id = categorizations.category_id WHERE (`categories`.`id` = 3) AND ((`categorizations`.project_id = 1)) LIMIT 1*[0m
+Rendered projects/_category (0.00117)
+  *[4;36;1mTag Load (0.000269)*[0m   *[0;1mSELECT * FROM `tags` *[0m
+  *[4;35;1mTag Columns (0.001715)*[0m   *[0mSHOW FIELDS FROM `tags`*[0m
+  *[4;36;1mTag Exists (0.000339)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 1) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00480)
+  *[4;35;1mTag Exists (0.000278)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 2) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00113)
+  *[4;36;1mTag Exists (0.000235)*[0m   *[0;1mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 3) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00103)
+  *[4;35;1mTag Exists (0.000288)*[0m   *[0mSELECT `tags`.id FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`tags`.`id` = 4) AND (`projects_tags`.project_id = 1 ) LIMIT 1*[0m
+Rendered projects/_tag (0.00145)
+  *[4;36;1mSQL (0.000142)*[0m   *[0;1mselect count(*) from projects_tags*[0m
+  *[4;35;1mJoin Table Columns (0.001502)*[0m   *[0mSHOW FIELDS FROM `projects_tags`*[0m
+  *[4;36;1mTag Load (0.001602)*[0m   *[0;1mSELECT * FROM `tags` INNER JOIN `projects_tags` ON `tags`.id = `projects_tags`.tag_id WHERE (`projects_tags`.project_id = 1 ) *[0m
+  *[4;35;1mProjectDetail Load (0.000273)*[0m   *[0mSELECT * FROM `project_details` WHERE (`project_details`.project_id = 1) LIMIT 1*[0m
+  *[4;36;1mProjectDetail Columns (0.003128)*[0m   *[0;1mSHOW FIELDS FROM `project_details`*[0m
+Rendered projects/_form (0.13107)
+Completed in 0.52795 (1 reqs/sec) | Rendering: 0.10587 (20%) | DB: 0.08445 (15%) | 200 OK [http://localhost/projects/1/edit]
+
+
+Processing ProjectsController#update (for 127.0.0.1 at 2008-05-08 10:30:51) [PUT]
+  Session ID: BAh7BzoMY3NyZl9pZCIlYTMwY2IxODcyYzU4MDYzMTI5ZjJkYmNjYzRhOTY4%0AMzEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--223658973615b2a3f5af37c5f9e87b6f386f2620
+  Parameters: {&quot;commit&quot;=&gt;&quot;Submit&quot;, &quot;project&quot;=&gt;{&quot;name&quot;=&gt;&quot;Apollo 11&quot;, &quot;existing_task_attributes&quot;=&gt;{&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}, &quot;category_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}, &quot;tag_attributes&quot;=&gt;{&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;0&quot;, &quot;4&quot;=&gt;&quot;1&quot;}, &quot;project_detail_attributes&quot;=&gt;{&quot;description&quot;=&gt;&quot;Test&quot;}, &quot;existing_assignment_attributes&quot;=&gt;{&quot;1&quot;=&gt;{&quot;title&quot;=&gt;&quot;Commander&quot;, &quot;employee_id&quot;=&gt;&quot;1&quot;}, &quot;2&quot;=&gt;{&quot;title&quot;=&gt;&quot;Command Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;2&quot;}, &quot;3&quot;=&gt;{&quot;title&quot;=&gt;&quot;Lunar Module Pilot&quot;, &quot;employee_id&quot;=&gt;&quot;3&quot;}}}, &quot;authenticity_token&quot;=&gt;&quot;bf076981917f6734cfc602f41c60c6682bfbb285&quot;, &quot;_method&quot;=&gt;&quot;put&quot;, &quot;action&quot;=&gt;&quot;update&quot;, &quot;id&quot;=&gt;&quot;1&quot;, &quot;controller&quot;=&gt;&quot;projects&quot;}
+  *[4;35;1mProject Columns (0.002478)*[0m   *[0mSHOW FIELDS FROM `projects`*[0m
+  *[4;36;1mProject Load (0.001386)*[0m   *[0;1mSELECT * FROM `projects` WHERE (`projects`.`id` = 1) *[0m
+
+
+RuntimeError ({&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}):
+    /vendor/plugins/complex_forms_helper/lib/association_creation_from_params.rb:72:in `existing_task_attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `send'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2313:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `each'
+    /vendor/rails/activerecord/lib/active_record/base.rb:2312:in `attributes='
+    /vendor/rails/activerecord/lib/active_record/base.rb:2226:in `update_attributes'
+    /app/controllers/projects_controller.rb:70:in `update'
+    /vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `call'
+    /vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in `respond_to'
+    /app/controllers/projects_controller.rb:69:in `update'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:1160:in `perform_action_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /opt/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
+    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
+    /vendor/rails/actionpack/lib/action_controller/rescue.rb:199:in `perform_action_without_caching'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
+    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
+    /vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
+    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `send'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:526:in `process_without_filters'
+    /vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
+    /vendor/rails/actionpack/lib/action_controller/session_management.rb:123:in `process'
+    /vendor/rails/actionpack/lib/action_controller/base.rb:387:in `process'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:156:in `handle_request'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:97:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `synchronize'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:94:in `dispatch'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:110:in `dispatch_cgi'
+    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:11:in `dispatch'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:76:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `synchronize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/rails.rb:74:in `process'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:159:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:158:in `process_client'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:285:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `initialize'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `new'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel.rb:268:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:282:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `each'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/configurator.rb:281:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:128:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/../lib/mongrel/command.rb:212:in `run'
+    /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails:281
+
+Rendering /Users/jeff/Sites/lab/complex_forms_demo_app/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb (internal_server_error)</diff>
      <filename>log/development.log</filename>
    </modified>
    <modified>
      <diff>@@ -125,3 +125,47 @@
 ** Rails signals registered.  HUP =&gt; reload (without restart).  It might not work well.
 ** Mongrel 1.1.4 available at 0.0.0.0:3060
 ** Writing PID file to log/mongrel.pid
+** USR2 signal received.
+** Restarting with arguments:  ruby /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails start -d -p 3060
+** Daemonized, any open files are closed.  Look at log/mongrel.pid and log/mongrel.log for info.
+** Starting Mongrel listening at 0.0.0.0:3060
+** Starting Rails with development environment...
+** Rails loaded.
+** Loading any Rails specific GemPlugins
+** Signals ready.  TERM =&gt; stop.  USR2 =&gt; restart.  INT =&gt; stop (no restart).
+** Rails signals registered.  HUP =&gt; reload (without restart).  It might not work well.
+** Mongrel 1.1.4 available at 0.0.0.0:3060
+** Writing PID file to log/mongrel.pid
+** USR2 signal received.
+** Restarting with arguments:  ruby /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails start -d -p 3060
+** Daemonized, any open files are closed.  Look at log/mongrel.pid and log/mongrel.log for info.
+** Starting Mongrel listening at 0.0.0.0:3060
+** Starting Rails with development environment...
+** Rails loaded.
+** Loading any Rails specific GemPlugins
+** Signals ready.  TERM =&gt; stop.  USR2 =&gt; restart.  INT =&gt; stop (no restart).
+** Rails signals registered.  HUP =&gt; reload (without restart).  It might not work well.
+** Mongrel 1.1.4 available at 0.0.0.0:3060
+** Writing PID file to log/mongrel.pid
+** USR2 signal received.
+** Restarting with arguments:  ruby /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails start -d -p 3060
+** Daemonized, any open files are closed.  Look at log/mongrel.pid and log/mongrel.log for info.
+** Starting Mongrel listening at 0.0.0.0:3060
+** Starting Rails with development environment...
+** Rails loaded.
+** Loading any Rails specific GemPlugins
+** Signals ready.  TERM =&gt; stop.  USR2 =&gt; restart.  INT =&gt; stop (no restart).
+** Rails signals registered.  HUP =&gt; reload (without restart).  It might not work well.
+** Mongrel 1.1.4 available at 0.0.0.0:3060
+** Writing PID file to log/mongrel.pid
+** USR2 signal received.
+** Restarting with arguments:  ruby /opt/local/lib/ruby/gems/1.8/gems/mongrel-1.1.4/bin/mongrel_rails start -d -p 3060
+** Daemonized, any open files are closed.  Look at log/mongrel.pid and log/mongrel.log for info.
+** Starting Mongrel listening at 0.0.0.0:3060
+** Starting Rails with development environment...
+** Rails loaded.
+** Loading any Rails specific GemPlugins
+** Signals ready.  TERM =&gt; stop.  USR2 =&gt; restart.  INT =&gt; stop (no restart).
+** Rails signals registered.  HUP =&gt; reload (without restart).  It might not work well.
+** Mongrel 1.1.4 available at 0.0.0.0:3060
+** Writing PID file to log/mongrel.pid</diff>
      <filename>log/mongrel.log</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-4314
\ No newline at end of file
+4524
\ No newline at end of file</diff>
      <filename>log/mongrel.pid</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,216 @@
 = Complex Forms Helper
 
+== The Goal
+
+Make it easier to create forms that encompass multiple models while maintaining skinny controllers _and_ skinny models.
+
+= Requirements
+
+A form that manages a model and its related model must:
+
+* Handle validation of the main model as well as all of the associated models
+* Create fully valid XHTML
+* Have completely atomic saves:
+  * If you add a child item and there is a form error the child item needs to be redisplayed to the user, but not saved to the database
+  * If you update a child item and there is an error the child item must be correctly displayed to the user but not saved in the database
+  * If you remove a child item and there is a form error, the child must be hidden from view on the page but remain in the database
+  * On a successful save all new objects must be created, existing objects updated and removed object deleted
+* Run updates in a transaction
+* Handle both means of data entry:
+  * As subforms that can be added
+  * As a list of checkboxes that can be checked
+* Handle all of the rails helpers such as check boxes, date fields and radio buttons
+* Work the same every time a user clicks refresh or submits
+
+As far as the form goes, it needs to handle:
+
+* has_many
+* has_many :through via a list of checkboxes
+* has_many :through via params
+* has_and_belongs_to_many via a list of checkboxes
+* has_and_belongs_to_many via params
+* has_one
+* belongs_to (creating the parent first)
+
+So far the plugin only manages:
+
+* has_many
+* has_many :through via a list of checkboxes
+* has_and_belongs_to_many via a list of checkboxes
+* has_one
+
+= Domain Description for this app
+
+Project is the main object here, and is defined as:
+
+  class Project &lt; ActiveRecord::Base
+    has_many :tasks
+    has_many :assignments
+    has_many :employees, :through =&gt; :assignments
+    has_many :categorizations
+    has_many :categories, :through =&gt; :categorizations
+
+    validates_presence_of :name
+    validates_associated :tasks, :assignments
+
+    after_update :save_tasks
+    after_update :save_assignments
+    after_update :save_categorizations
+  end
+
+Task belongs to Project and requires a name:
+
+  class Task &lt; ActiveRecord::Base
+    belongs_to :project
+    validates_presence_of :name
+  end
+
+Employee is joined to Project through an Assignment and requires both an employee and a title:
+
+  class Employee &lt; ActiveRecord::Base
+    has_many :assignments
+    has_many :projects, :through =&gt; :assignments
+  end
+
+  class Assignment &lt; ActiveRecord::Base
+    belongs_to :project
+    belongs_to :employee
+    validates_presence_of :title
+    validates_presence_of :employee_id
+  end
+
+The project-employee-assignment part of the domain requires additional fields on the join table.
+
+Category is joined to Project through a Categorization:
+
+  class Category &lt; ActiveRecord::Base
+    has_many :categorizations
+    has_many :projects, :through =&gt; :categorizations
+    validates_presence_of :name
+  end
+
+  class Categorization &lt; ActiveRecord::Base
+    belongs_to :project
+    belongs_to :category
+  end
+
+The project-categorization-category part of the domain is very similar to a has_and_belongs_to_many relationship.
+Handling validation
+
+Instead of using the rails default error_messages_for helper, just use a partial.
+
+== Creating fully valid XHMTL
+
+To output valid XHTML you must:
+
+    * Set an index on every child field
+    * Have the javascript that dynamically adds fields set the index correctly as well
+
+This requires a complex interaction between the partial and the javascript code. The necessary parts are spread across multiple files:
+
+public/javascripts/application.js contains a generic class that you can use for any subform, and add multiple subforms to a page:
+
+  var Subform = Class.create({
+    lineIndex: 1,
+    parentElement: &quot;&quot;,
+
+    // rawHTML contains the html to add using the &quot;add&quot; link
+    // lineIndex should be the length of the original array
+    // parentElement is the id of the div that the subforms attach to
+    initialize: function(rawHTML, lineIndex, parentElement) {
+      this.rawHTML        = rawHTML;
+      this.lineIndex      = lineIndex;
+      this.parentElement  = parentElement;
+    },
+
+    // parses the rawHTML and replaces all instances of the word
+    // INDEX with the line index
+    // So the HTML on that rails outputs will be INDEX, but when this
+    // is added to the dom it has the correct id
+    parsedHTML: function() {
+      return this.rawHTML.replace(/INDEX/g, this.lineIndex++);
+    },
+
+    // handles the inserting of the child form
+    add: function() {
+      new Insertion.Bottom($(this.parentElement), this.parsedHTML());
+    }
+  });
+          
+Each child form's partial must instantiate the javascript - I use a content_for block and inject that code into the head of the document
+
+  &lt;%- content_for :head do -%&gt;
+    &lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;
+     //&lt;![CDATA[
+       taskForm = new Subform('&lt;%= escape_javascript(render(:partial =&gt; &quot;task&quot;, :object =&gt; Task.new, :locals =&gt; {:index =&gt; &quot;INDEX&quot;})) %&gt;',&lt;%= @project.tasks.length %&gt;,'tasks');
+       assignmentForm = new Subform('&lt;%= escape_javascript(render(:partial =&gt; &quot;assignment&quot;, :object =&gt; Assignment.new, :locals =&gt; {:index =&gt; &quot;INDEX&quot;})) %&gt;',&lt;%= @project.assignments.length %&gt;,'assignments');
+     //]]&gt;
+    &lt;/script&gt;
+  &lt;%- end -%&gt;
+          
+If you are using content_for like I am, then the app/views/application.html.erb file must have a corresponding yield statement
+
+Rails makes setting the index properly a breeze with it's :index option and the partial_counter local variable in partials that are fed collections.
+
+The index does not work with radio buttons (this may be fixed in edge) and the standard rails labels output invalid XHTML, so those have to be coded manually.
+Marking objects for deletion
+
+This means being able to mark an object for deletion before actually deleting it. I've accomplished this in a site-wide way with config/initializers/marked_for_deletion.rb
+Performing the save in a transaction
+
+Rails doesn't include the after_update callbacks in it's default transactions, so you have to do that yourself. It has 3 parts:
+
+A method in the project model that performs the save in a transaction and re-raises the error:
+
+  class &lt;&lt; self
+    def save(project,project_attributes = nil)
+      project.attributes = project_attributes unless project_attributes.nil?
+      updated = false
+      Project.transaction do
+        updated = project.save
+      end
+      updated
+    rescue Exception =&gt; e
+      throw e
+    end
+  end
+          
+Make sure the child objects raise errors when they are saved:
+
+  def save_assignments
+    assignments.each do |assignment|
+      assignment.save!
+    end
+  end
+
+Update the controller code to call the correct method:
+
+  def create
+    @project = Project.new(params[:project])
+    respond_to do |format|
+      if Project.save(@project)
+        ...
+      else
+        ...
+      end
+    end
+  end      
+
+  def update
+    @project = Project.find(params[:id])
+    params[:project][:existing_task_attributes] ||= {} 
+
+    respond_to do |format|
+      if Project.save(@project,params[:project])
+        ...
+      else
+        ...
+      end
+    end
+  end
+          
+
+
 == Create Associations From Params
 
 This adds methods when you create an association:</diff>
      <filename>vendor/plugins/complex_forms_helper/README.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,6 @@
 require 'association_creation_from_params'
 require 'marked_for_deletion'
+require 'view_helpers'
 ActiveRecord::Base.send :include, MarkedForDeletion
-ActiveRecord::Associations::ClassMethods.send :include, AssociationCreationFromParams
\ No newline at end of file
+ActiveRecord::Associations::ClassMethods.send :include, AssociationCreationFromParams
+ActionView::Base.class_eval { include ViewHelpers }
\ No newline at end of file</diff>
      <filename>vendor/plugins/complex_forms_helper/init.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,11 +3,12 @@ module AssociationCreationFromParams
     base.send :include, InstanceMethods
     base.alias_method_chain :has_many, :creation_from_params
     base.alias_method_chain :has_one, :creation_from_params
+    base.alias_method_chain :has_and_belongs_to_many, :creation_from_params
   end
 
   module InstanceMethods
 
-    # For the purposes of the documentation, let's assume
+    # == Example
     #
     #   class Project
     #     has_many :tasks, :enable_creation_from_params =&gt; true
@@ -16,17 +17,19 @@ module AssociationCreationFromParams
     #   end
     #
     # The following methods are added for the has_many:
-    # * new_task_attributes=
-    # * existing_task_attributes=
+    # * new_task_attributes=(attributes) # =&gt; {&quot;3&quot;=&gt;{&quot;name&quot;=&gt;&quot;Task One&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Task Two&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}
+    # * existing_task_attributes=(attributes) # =&gt; {&quot;6&quot;=&gt;{&quot;name&quot;=&gt;&quot;Come Back Safely&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Take Off&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}, &quot;5&quot;=&gt;{&quot;name&quot;=&gt;&quot;Land on Moon&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}
     # * save_tasks
     # * after_update :save_tasks
+    # * tasks_without_deleted
     #
     # The following methods are added for the has_many :through:
-    # * resource_attributes=(attributes)
+    # * resource_attributes=(attributes) # =&gt; {&quot;1&quot;=&gt;&quot;1&quot;, &quot;2&quot;=&gt;&quot;0&quot;, &quot;3&quot;=&gt;&quot;1&quot;}
     # * save_resource_assignments
     # * after_upate :save_resource_assignments
     #
     # If you define this on both sides of the relationship, you'll cause an endless loop
+    # TODO: document the types of hashes these expect
     def has_many_with_creation_from_params(association_id, options = {}, &amp;extension)
       enable_creation_from_params = options.delete(:enable_creation_from_params)
       reflection = create_has_many_reflection(association_id, options, &amp;extension)
@@ -35,6 +38,8 @@ module AssociationCreationFromParams
 
           define_method(&quot;#{Inflector.singularize(association_id.to_s)}_attributes=&quot;) do |child_attributes|
             child_attributes.each do |id, value|
+              # TODO: check if value is a hash or array, and if so treat it like a has_many
+              
               join_object = send(options[:through]).detect{|c| c.send(reflection.association_foreign_key).to_s == id.to_s}
               if join_object &amp;&amp; value.to_s == &quot;0&quot;
                 join_object.marked_for_deletion = true
@@ -92,26 +97,70 @@ module AssociationCreationFromParams
       has_many_without_creation_from_params(association_id, options, &amp;extension)
     end
 
+    # == Example
+    #
+    #   class Project
+    #     has_one :project_detail, :enable_creation_from_params =&gt; true
+    #   end
+    #
+    # The following methods are added for the has_one:
+    # * project_detail_attributes=(attributes) # =&gt; {&quot;3&quot;=&gt;{&quot;name&quot;=&gt;&quot;Task One&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;0&quot;}, &quot;4&quot;=&gt;{&quot;name&quot;=&gt;&quot;Task Two&quot;, &quot;marked_for_deletion&quot;=&gt;&quot;false&quot;, &quot;complete&quot;=&gt;&quot;1&quot;}}
+    # * save_project_detail
+    # * after_update :save_project_detail
     def has_one_with_creation_from_params(association_id, options = {})
       enable_creation_from_params = options.delete(:enable_creation_from_params)
-      if options[:through]
-        reflection = create_has_one_through_reflection(association_id, options)
-      else
-        reflection = create_has_one_reflection(association_id, options)
-        define_method &quot;#{association_id}_attributes=&quot; do |has_one_attributes|
-          send(&quot;build_#{association_id}&quot;) if send(association_id).nil?
-          send(association_id).attributes = has_one_attributes
+      if enable_creation_from_params
+        if options[:through]
+          reflection = create_has_one_through_reflection(association_id, options)
+        else
+          reflection = create_has_one_reflection(association_id, options)
+          define_method &quot;#{association_id}_attributes=&quot; do |has_one_attributes|
+            send(&quot;build_#{association_id}&quot;) if send(association_id).nil?
+            send(association_id).attributes = has_one_attributes
+          end
+
+          define_method &quot;save_#{association_id}&quot; do
+            if send(association_id) &amp;&amp; send(association_id).changed?
+              send(association_id).save!
+            end
+          end
+          after_save &quot;save_#{association_id}&quot;
+
+        end    
+      end  
+      has_one_without_creation_from_params(association_id, options)
+    end
+
+    def has_and_belongs_to_many_with_creation_from_params(association_id, options = {}, &amp;extension)
+      enable_creation_from_params = options.delete(:enable_creation_from_params)
+      reflection = create_has_and_belongs_to_many_reflection(association_id, options, &amp;extension)
+      if enable_creation_from_params
+        define_method &quot;#{Inflector.singularize(association_id.to_s)}_attributes=&quot; do |habtm_attributes|
+          habtm_attributes.each do |id, value|
+            # TODO: check if value is a hash or array, and if so treat it like a has_many
+            existing = send(association_id).detect{|t| t.send(t.class.primary_key).to_s == id.to_s}
+            if existing &amp;&amp; value.to_s == &quot;0&quot;
+              send(association_id).delete_if{|c| c.send(c.class.primary_key).to_s == id.to_s}
+            elsif existing.nil? &amp;&amp; value.to_s == &quot;1&quot;
+              send(association_id).insert send(association_id).length, reflection.klass.find_by_id(id) # =&gt; association_foreign_key
+            end
+          end
         end
 
         define_method &quot;save_#{association_id}&quot; do
-          if send(association_id) &amp;&amp; send(association_id).changed?
-            send(association_id).save!
+          new_set = send(association_id).dup
+          old_set = send(association_id, true)
+          (new_set - old_set).each do |_child|
+            send(association_id) &lt;&lt; _child
+          end
+          (old_set - new_set).each do |_child|
+            send(association_id).delete _child
           end
         end
-        after_save &quot;save_#{association_id}&quot;
-
-      end      
-      has_one_without_creation_from_params(association_id, options)
+        after_update &quot;save_#{association_id}&quot;
+        
+      end
+      has_and_belongs_to_many_without_creation_from_params(association_id, options)
     end
 
   end</diff>
      <filename>vendor/plugins/complex_forms_helper/lib/association_creation_from_params.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,47 @@
 require File.dirname(__FILE__) + '/spec_helper'
 
+class Winken &lt; ActiveRecord::Base
+  has_many :blinkens, :enable_creation_from_params =&gt; true
+  has_many :nods, :through =&gt; :blinkens, :enable_creation_from_params =&gt; true
+  has_many :taggings
+  has_many :tags, :through =&gt; :taggings, :enable_creation_from_params =&gt; true
+  has_and_belongs_to_many :bars, :enable_creation_from_params =&gt; true
+  has_one :foo, :enable_creation_from_params =&gt; true
+end
+
+class Blinken &lt; ActiveRecord::Base
+  belongs_to :blinken
+  belongs_to :nod
+end
+
+class Nod &lt; ActiveRecord::Base
+  has_many :blinkens
+  has_many :winkens, :through =&gt; :blinkens
+end
+
+class Bar &lt; ActiveRecord::Base
+  has_and_belongs_to_many :winkens
+end
+
+class Tag &lt; ActiveRecord::Base
+  has_many :taggings
+  has_many :winkens, :through =&gt; :taggings
+end
+
+class Tagging &lt; ActiveRecord::Base
+  belongs_to :winken
+  belongs_to :tag
+end
+
+class Foo &lt; ActiveRecord::Base
+  belongs_to :winken
+end
+
+# class Twinkle &lt; ActiveRecord::Base
+#   belongs_to :blinken
+#   has_one :winken, :through =&gt; :blinken
+# end
+
 describe Winken do
   before(:each) do
     @winken = Winken.new
@@ -37,4 +79,13 @@ describe Winken do
       @winken.should respond_to(:save_foo)
     end
   end
+  
+  describe &quot;has_and_belongs_to_many&quot; do
+    it &quot;should have a bar_attributes= method&quot; do
+      @winken.should respond_to(:bar_attributes=)
+    end
+    it &quot;should have a save_bars method&quot; do
+      @winken.should respond_to(:save_bars)
+    end
+  end
 end
\ No newline at end of file</diff>
      <filename>vendor/plugins/complex_forms_helper/spec/association_creation_from_params_spec.rb</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>vendor/plugins/complex_forms_helper/spec/db/complex_forms_helper.sqlite3.db</filename>
    </modified>
    <modified>
      <diff>@@ -1454,3 +1454,117 @@
  WHERE type = 'table' AND NOT name = 'sqlite_sequence'
 *[0m
   *[4;36;1mSQL (0.000275)*[0m   *[0;1mSELECT version FROM &quot;schema_migrations&quot;*[0m
+  *[4;36;1mSQL (0.001772)*[0m   *[0;1mselect sqlite_version(*)*[0m
+  *[4;35;1mSQL (0.006179)*[0m   *[0mDROP TABLE &quot;winkens&quot;*[0m
+  *[4;36;1mSQL (0.004695)*[0m   *[0;1mCREATE TABLE &quot;winkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003902)*[0m   *[0mDROP TABLE &quot;blinkens&quot;*[0m
+  *[4;36;1mSQL (0.005268)*[0m   *[0;1mCREATE TABLE &quot;blinkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;nod_id&quot; integer DEFAULT NULL, &quot;name&quot; varchar(255) DEFAULT NULL, &quot;marked_for_deletion&quot; boolean DEFAULT 'f') *[0m
+  *[4;35;1mSQL (0.003131)*[0m   *[0mDROP TABLE &quot;nods&quot;*[0m
+  *[4;36;1mSQL (0.004057)*[0m   *[0;1mCREATE TABLE &quot;nods&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003103)*[0m   *[0mDROP TABLE &quot;bars&quot;*[0m
+  *[4;36;1mSQL (0.003561)*[0m   *[0;1mCREATE TABLE &quot;bars&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003730)*[0m   *[0mDROP TABLE &quot;bars_winkens&quot;*[0m
+  *[4;36;1mSQL (0.003619)*[0m   *[0;1mCREATE TABLE &quot;bars_winkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;bar_id&quot; integer DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003825)*[0m   *[0mDROP TABLE &quot;tags&quot;*[0m
+  *[4;36;1mSQL (0.003104)*[0m   *[0;1mCREATE TABLE &quot;tags&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.004002)*[0m   *[0mDROP TABLE &quot;taggings&quot;*[0m
+  *[4;36;1mSQL (0.008889)*[0m   *[0;1mCREATE TABLE &quot;taggings&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;tag_id&quot; integer DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003912)*[0m   *[0mDROP TABLE &quot;foos&quot;*[0m
+  *[4;36;1mSQL (0.005001)*[0m   *[0;1mCREATE TABLE &quot;foos&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.001177)*[0m   *[0m SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+*[0m
+  *[4;36;1mSQL (0.000287)*[0m   *[0;1mSELECT version FROM &quot;schema_migrations&quot;*[0m
+  *[4;36;1mSQL (0.001203)*[0m   *[0;1mselect sqlite_version(*)*[0m
+  *[4;35;1mSQL (0.006549)*[0m   *[0mDROP TABLE &quot;winkens&quot;*[0m
+  *[4;36;1mSQL (0.003887)*[0m   *[0;1mCREATE TABLE &quot;winkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003870)*[0m   *[0mDROP TABLE &quot;blinkens&quot;*[0m
+  *[4;36;1mSQL (0.003738)*[0m   *[0;1mCREATE TABLE &quot;blinkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;nod_id&quot; integer DEFAULT NULL, &quot;name&quot; varchar(255) DEFAULT NULL, &quot;marked_for_deletion&quot; boolean DEFAULT 'f') *[0m
+  *[4;35;1mSQL (0.002598)*[0m   *[0mDROP TABLE &quot;nods&quot;*[0m
+  *[4;36;1mSQL (0.002760)*[0m   *[0;1mCREATE TABLE &quot;nods&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.002840)*[0m   *[0mDROP TABLE &quot;bars&quot;*[0m
+  *[4;36;1mSQL (0.002935)*[0m   *[0;1mCREATE TABLE &quot;bars&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.002879)*[0m   *[0mDROP TABLE &quot;bars_winkens&quot;*[0m
+  *[4;36;1mSQL (0.003394)*[0m   *[0;1mCREATE TABLE &quot;bars_winkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;bar_id&quot; integer DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.004113)*[0m   *[0mDROP TABLE &quot;tags&quot;*[0m
+  *[4;36;1mSQL (0.002985)*[0m   *[0;1mCREATE TABLE &quot;tags&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.004668)*[0m   *[0mDROP TABLE &quot;taggings&quot;*[0m
+  *[4;36;1mSQL (0.004249)*[0m   *[0;1mCREATE TABLE &quot;taggings&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;tag_id&quot; integer DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003443)*[0m   *[0mDROP TABLE &quot;foos&quot;*[0m
+  *[4;36;1mSQL (0.003466)*[0m   *[0;1mCREATE TABLE &quot;foos&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.001006)*[0m   *[0m SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+*[0m
+  *[4;36;1mSQL (0.000333)*[0m   *[0;1mSELECT version FROM &quot;schema_migrations&quot;*[0m
+  *[4;36;1mSQL (0.001241)*[0m   *[0;1mselect sqlite_version(*)*[0m
+  *[4;35;1mSQL (0.117069)*[0m   *[0mDROP TABLE &quot;winkens&quot;*[0m
+  *[4;36;1mSQL (0.005352)*[0m   *[0;1mCREATE TABLE &quot;winkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.004978)*[0m   *[0mDROP TABLE &quot;blinkens&quot;*[0m
+  *[4;36;1mSQL (0.004600)*[0m   *[0;1mCREATE TABLE &quot;blinkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;nod_id&quot; integer DEFAULT NULL, &quot;name&quot; varchar(255) DEFAULT NULL, &quot;marked_for_deletion&quot; boolean DEFAULT 'f') *[0m
+  *[4;35;1mSQL (0.003855)*[0m   *[0mDROP TABLE &quot;nods&quot;*[0m
+  *[4;36;1mSQL (0.004044)*[0m   *[0;1mCREATE TABLE &quot;nods&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003075)*[0m   *[0mDROP TABLE &quot;bars&quot;*[0m
+  *[4;36;1mSQL (0.003734)*[0m   *[0;1mCREATE TABLE &quot;bars&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.002928)*[0m   *[0mDROP TABLE &quot;bars_winkens&quot;*[0m
+  *[4;36;1mSQL (0.004296)*[0m   *[0;1mCREATE TABLE &quot;bars_winkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;bar_id&quot; integer DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003177)*[0m   *[0mDROP TABLE &quot;tags&quot;*[0m
+  *[4;36;1mSQL (0.003750)*[0m   *[0;1mCREATE TABLE &quot;tags&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003615)*[0m   *[0mDROP TABLE &quot;taggings&quot;*[0m
+  *[4;36;1mSQL (0.004673)*[0m   *[0;1mCREATE TABLE &quot;taggings&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;tag_id&quot; integer DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.004155)*[0m   *[0mDROP TABLE &quot;foos&quot;*[0m
+  *[4;36;1mSQL (0.004296)*[0m   *[0;1mCREATE TABLE &quot;foos&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.001188)*[0m   *[0m SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+*[0m
+  *[4;36;1mSQL (0.000276)*[0m   *[0;1mSELECT version FROM &quot;schema_migrations&quot;*[0m
+  *[4;36;1mSQL (0.001213)*[0m   *[0;1mselect sqlite_version(*)*[0m
+  *[4;35;1mSQL (0.006534)*[0m   *[0mDROP TABLE &quot;winkens&quot;*[0m
+  *[4;36;1mSQL (0.003659)*[0m   *[0;1mCREATE TABLE &quot;winkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003593)*[0m   *[0mDROP TABLE &quot;blinkens&quot;*[0m
+  *[4;36;1mSQL (0.003676)*[0m   *[0;1mCREATE TABLE &quot;blinkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;nod_id&quot; integer DEFAULT NULL, &quot;name&quot; varchar(255) DEFAULT NULL, &quot;marked_for_deletion&quot; boolean DEFAULT 'f') *[0m
+  *[4;35;1mSQL (0.003085)*[0m   *[0mDROP TABLE &quot;nods&quot;*[0m
+  *[4;36;1mSQL (0.003164)*[0m   *[0;1mCREATE TABLE &quot;nods&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.002848)*[0m   *[0mDROP TABLE &quot;bars&quot;*[0m
+  *[4;36;1mSQL (0.002964)*[0m   *[0;1mCREATE TABLE &quot;bars&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.002863)*[0m   *[0mDROP TABLE &quot;bars_winkens&quot;*[0m
+  *[4;36;1mSQL (0.003038)*[0m   *[0;1mCREATE TABLE &quot;bars_winkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;bar_id&quot; integer DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.002751)*[0m   *[0mDROP TABLE &quot;tags&quot;*[0m
+  *[4;36;1mSQL (0.003080)*[0m   *[0;1mCREATE TABLE &quot;tags&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003405)*[0m   *[0mDROP TABLE &quot;taggings&quot;*[0m
+  *[4;36;1mSQL (0.003728)*[0m   *[0;1mCREATE TABLE &quot;taggings&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;tag_id&quot; integer DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003709)*[0m   *[0mDROP TABLE &quot;foos&quot;*[0m
+  *[4;36;1mSQL (0.003461)*[0m   *[0;1mCREATE TABLE &quot;foos&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.001060)*[0m   *[0m SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+*[0m
+  *[4;36;1mSQL (0.000299)*[0m   *[0;1mSELECT version FROM &quot;schema_migrations&quot;*[0m
+  *[4;35;1mSQL (0.001015)*[0m   *[0m SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+*[0m
+  *[4;36;1mSQL (0.001222)*[0m   *[0;1mselect sqlite_version(*)*[0m
+  *[4;35;1mSQL (0.007102)*[0m   *[0mDROP TABLE &quot;winkens&quot;*[0m
+  *[4;36;1mSQL (0.003614)*[0m   *[0;1mCREATE TABLE &quot;winkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003686)*[0m   *[0mDROP TABLE &quot;blinkens&quot;*[0m
+  *[4;36;1mSQL (0.003448)*[0m   *[0;1mCREATE TABLE &quot;blinkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;nod_id&quot; integer DEFAULT NULL, &quot;name&quot; varchar(255) DEFAULT NULL, &quot;marked_for_deletion&quot; boolean DEFAULT 'f') *[0m
+  *[4;35;1mSQL (0.002831)*[0m   *[0mDROP TABLE &quot;nods&quot;*[0m
+  *[4;36;1mSQL (0.002749)*[0m   *[0;1mCREATE TABLE &quot;nods&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.002835)*[0m   *[0mDROP TABLE &quot;bars&quot;*[0m
+  *[4;36;1mSQL (0.002960)*[0m   *[0;1mCREATE TABLE &quot;bars&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.002752)*[0m   *[0mDROP TABLE &quot;bars_winkens&quot;*[0m
+  *[4;36;1mSQL (0.003096)*[0m   *[0;1mCREATE TABLE &quot;bars_winkens&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;bar_id&quot; integer DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.002755)*[0m   *[0mDROP TABLE &quot;tags&quot;*[0m
+  *[4;36;1mSQL (0.003302)*[0m   *[0;1mCREATE TABLE &quot;tags&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003258)*[0m   *[0mDROP TABLE &quot;taggings&quot;*[0m
+  *[4;36;1mSQL (0.003343)*[0m   *[0;1mCREATE TABLE &quot;taggings&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;tag_id&quot; integer DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.003176)*[0m   *[0mDROP TABLE &quot;foos&quot;*[0m
+  *[4;36;1mSQL (0.003466)*[0m   *[0;1mCREATE TABLE &quot;foos&quot; (&quot;id&quot; INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, &quot;winken_id&quot; integer DEFAULT NULL, &quot;name&quot; varchar(255) DEFAULT NULL) *[0m
+  *[4;35;1mSQL (0.001282)*[0m   *[0m SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+*[0m
+  *[4;36;1mSQL (0.000312)*[0m   *[0;1mSELECT version FROM &quot;schema_migrations&quot;*[0m</diff>
      <filename>vendor/plugins/complex_forms_helper/spec/debug.log</filename>
    </modified>
    <modified>
      <diff>@@ -11,40 +11,3 @@ ActiveRecord::Base.logger = Logger.new(plugin_spec_dir + &quot;/debug.log&quot;)
 databases = YAML::load(IO.read(plugin_spec_dir + &quot;/db/database.yml&quot;))
 ActiveRecord::Base.establish_connection(databases[ENV[&quot;DB&quot;] || &quot;sqlite3&quot;])
 load(File.join(plugin_spec_dir, &quot;db&quot;, &quot;schema.rb&quot;))
-
-class Winken &lt; ActiveRecord::Base
-  has_many :blinkens, :enable_creation_from_params =&gt; true
-  has_many :nods, :through =&gt; :blinkens, :enable_creation_from_params =&gt; true
-  has_many :taggings
-  has_many :tags, :through =&gt; :taggings, :enable_creation_from_params =&gt; true
-  has_and_belongs_to_many :bars
-  has_one :foo
-end
-
-class Blinken &lt; ActiveRecord::Base
-  belongs_to :blinken
-  belongs_to :nod
-end
-
-class Nod &lt; ActiveRecord::Base
-  has_many :blinkens
-  has_many :winkens, :through =&gt; :blinkens
-end
-
-class Bar &lt; ActiveRecord::Base
-  has_and_belongs_to_many :winkens
-end
-
-class Tag &lt; ActiveRecord::Base
-  has_many :taggings
-  has_many :winkens, :through =&gt; :taggings
-end
-
-class Tagging &lt; ActiveRecord::Base
-  belongs_to :winken
-  belongs_to :tag
-end
-
-class Foo &lt; ActiveRecord::Base
-  belongs_to :winken
-end
\ No newline at end of file</diff>
      <filename>vendor/plugins/complex_forms_helper/spec/spec_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2ea98e7fca042a0ae6431063a07920bb0cc7db6a</id>
    </parent>
  </parents>
  <author>
    <name>Jeff Dean</name>
    <email>jeff@zilkey.com</email>
  </author>
  <url>http://github.com/zilkey/complex_forms_demo_app/commit/7cc5924cfc18b4a307430d4eaa04606bab75e7ca</url>
  <id>7cc5924cfc18b4a307430d4eaa04606bab75e7ca</id>
  <committed-date>2008-05-08T07:42:05-07:00</committed-date>
  <authored-date>2008-05-08T07:42:05-07:00</authored-date>
  <message>has_one and habtm work</message>
  <tree>d30986989c95687ec0a221c2ef4bc3033b4eb269</tree>
  <committer>
    <name>Jeff Dean</name>
    <email>jeff@zilkey.com</email>
  </committer>
</commit>
