<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/views/tasks/_form.html.erb</filename>
    </added>
    <added>
      <filename>db/migrate/20080719122436_add_project_association_to_tasks.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,12 @@
 class Project &lt; ActiveRecord::Base
   
+  has_many :tasks
+  
   validates_presence_of :name
   
+  # Returns projects for Rails form select helper
+  def self.find_for_select
+    self.all.collect { |p| [ p.name, p.id ] }
+  end
+  
 end</diff>
      <filename>app/models/project.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 class Task &lt; ActiveRecord::Base
 
+  belongs_to :project
+
   validates_presence_of :name, :due_on
   
   # Validates that due date for task cannot be in the past</diff>
      <filename>app/models/task.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,6 +8,15 @@
   &lt;%=h @project.description %&gt;
 &lt;/p&gt;
 
+&lt;h3&gt;Tasks for this project:&lt;/h3&gt;
+
+&lt;ul&gt;
+  &lt;%- @project.tasks.each do |task| -%&gt;
+  &lt;li&gt;&lt;%= link_to task.name, task %&gt;, due on &lt;%= task.due_on.to_s(:short) %&gt;&lt;/li&gt;
+  &lt;%- end -%&gt;
+&lt;/ul&gt;
+
+&lt;hr /&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>@@ -3,18 +3,8 @@
 &lt;% form_for(@task) do |f| %&gt;
   &lt;%= f.error_messages %&gt;
 
-  &lt;p&gt;
-    &lt;%= f.label :name %&gt;&lt;br /&gt;
-    &lt;%= f.text_field :name %&gt;
-  &lt;/p&gt;
-  &lt;p&gt;
-    &lt;%= f.label :due_on %&gt;&lt;br /&gt;
-    &lt;%= f.date_select :due_on %&gt;
-  &lt;/p&gt;
-  &lt;p&gt;
-    &lt;%= f.label :completed %&gt;&lt;br /&gt;
-    &lt;%= f.check_box :completed %&gt;
-  &lt;/p&gt;
+  &lt;%= render :partial =&gt; &quot;form&quot;, :locals =&gt; { :f =&gt; f } %&gt;
+  
   &lt;p&gt;
     &lt;%= f.submit &quot;Update&quot; %&gt;
   &lt;/p&gt;</diff>
      <filename>app/views/tasks/edit.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -3,18 +3,8 @@
 &lt;% form_for(@task) do |f| %&gt;
   &lt;%= f.error_messages %&gt;
 
-  &lt;p&gt;
-    &lt;%= f.label :name %&gt;&lt;br /&gt;
-    &lt;%= f.text_field :name %&gt;
-  &lt;/p&gt;
-  &lt;p&gt;
-    &lt;%= f.label :due_on %&gt;&lt;br /&gt;
-    &lt;%= f.date_select :due_on %&gt;
-  &lt;/p&gt;
-  &lt;p&gt;
-    &lt;%= f.label :completed %&gt;&lt;br /&gt;
-    &lt;%= f.check_box :completed %&gt;
-  &lt;/p&gt;
+  &lt;%= render :partial =&gt; &quot;form&quot;, :locals =&gt; { :f =&gt; f } %&gt;
+  
   &lt;p&gt;
     &lt;%= f.submit &quot;Create&quot; %&gt;
   &lt;/p&gt;</diff>
      <filename>app/views/tasks/new.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -13,6 +13,7 @@
   &lt;%=h @task.completed %&gt;
 &lt;/p&gt;
 
+&lt;p&gt;Belongs to project: &lt;strong&gt;&lt;%= @task.project.blank? ? 'N/A' : link_to(@task.project.name, @task.project)   %&gt;&lt;/strong&gt;&lt;/p&gt;
 
 &lt;%= link_to 'Edit', edit_task_path(@task) %&gt; |
 &lt;%= link_to 'Back', tasks_path %&gt;</diff>
      <filename>app/views/tasks/show.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,9 @@
 ActionController::Routing::Routes.draw do |map|
-  map.resources :projects
-
-
-  map.resources :tasks
   
   map.root :controller =&gt; &quot;tasks&quot;
+  
+  map.resources :tasks
+  map.resources :projects
 
   # The priority is based upon order of creation: first created -&gt; highest priority.
 </diff>
      <filename>config/routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@
 #
 # It's strongly recommended to check this file into your version control system.
 
-ActiveRecord::Schema.define(:version =&gt; 20080719113143) do
+ActiveRecord::Schema.define(:version =&gt; 20080719122436) do
 
   create_table &quot;projects&quot;, :force =&gt; true do |t|
     t.string   &quot;name&quot;
@@ -24,6 +24,7 @@ ActiveRecord::Schema.define(:version =&gt; 20080719113143) do
     t.boolean  &quot;completed&quot;
     t.datetime &quot;created_at&quot;
     t.datetime &quot;updated_at&quot;
+    t.integer  &quot;project_id&quot;
   end
 
 end</diff>
      <filename>db/schema.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f559aa19d488509aa5cac41a9025dd5bddbaf271</id>
    </parent>
  </parents>
  <author>
    <name>Karel Minarik</name>
    <email>karmi@karmi.cz</email>
  </author>
  <url>http://github.com/karmi/workshop_tutorial_application/commit/8763fd03a94d29a506aca01334c4ef832bcb961d</url>
  <id>8763fd03a94d29a506aca01334c4ef832bcb961d</id>
  <committed-date>2008-07-19T07:31:16-07:00</committed-date>
  <authored-date>2008-07-19T07:31:16-07:00</authored-date>
  <message>Added association between Tasks and Projects; Refactored form for Tasks to use partial template</message>
  <tree>0d54a9c1ca8bfb6f142009d5c79027d8d9e7365f</tree>
  <committer>
    <name>Karel Minarik</name>
    <email>karmi@karmi.cz</email>
  </committer>
</commit>
