Conversation
beccaelenzil
left a comment
There was a problem hiding this comment.
Task List
Major Learning Goals/Code Review
| Criteria | yes/no, and optionally any details/lines of code to reference |
|---|---|
| At least 6 commits with meaningful commit messages | ✔️ |
| Routes follow RESTful conventions | ✔️ |
Uses named routes (like _path) |
✔️ |
| Creates Models and migrations | ✔️ |
| Creates styled views | ✔️ Nice styles! |
| Handles errors like nonexistant tasks | ✔️ |
Uses form_with to render forms in Rails |
✔️ |
Functional Requirements/Manual Testing
| Functional Requirement | yes/no |
|---|---|
| Successfully handles index & show | ✔️ |
| index & show tests pass | ✔️ |
| Successfully handles: New, Create | ✔️ |
| New, Create tests pass | ✔️ |
| Successfully handles: Edit, Update | ✔️ |
| Edit, Update tests pass with valid & invalid task ids | ✔️ |
| Successfully handles: Destroy, Task Complete | Note that when a task is created the view displays "mark incomplete" |
| Tests for Destroy & Task Complete include tests for valid and invalid task ids | ✔️ |
Overall Feedback
Great work on this project! You've gone above and beyond to research new techniques (controller filters) and create helper method. It is clear that the learning goals around partial views, strong params, and applying styles to a rails app were met. I've left a few inline comments for you to review. Keep up the hard work!
| Overall Feedback | Criteria | yes/no |
|---|---|---|
| Green (Meets/Exceeds Standards) | 5+ in Code Review && 6+ in Functional Requirements | ✔️ |
| Yellow (Approaches Standards) | 3+ in Code Review && 5+ in Functional Requirements, or the instructor judges that this project needs special attention | |
| Red (Not at Standard) | 0-2 in Code Review or 0-4 in Functional Reqs, or assignment is breaking/doesn’t run with less than 5 minutes of debugging, or the instructor judges that this project needs special attention |
Code Style Bonus Awards
Was the code particularly impressive in code style for any of these reasons (or more...?)
| Quality | Yes? |
|---|---|
| Perfect Indentation | ✅ |
| Elegant/Clever | ✅ |
| Descriptive/Readable | ✅ |
|
|
||
| new_task = Task.find_by(name: task_hash[:task][:name]) | ||
|
|
||
| pp Task.all |
There was a problem hiding this comment.
Remember to remove printing from your test to add clarity to the test output.
| @@ -0,0 +1,21 @@ | |||
| <%= form_with model: @task, class: 'task-form' do |f| %> | |||
| <%= f.label :description %> | ||
| <%= f.text_field :description %> </br> | ||
|
|
||
| <%= f.label :completed_at %> |
There was a problem hiding this comment.
Note that because complete_at is entered when a task is created, a new task is already marked as complete and the button for mark_incomplete appears. This creates a bit of confusion for the user. Consider a design that doesn't have the user make an entry completed_at in the form.
| <button><%= link_to "Edit", edit_task_path(task)%></button> | ||
| <button><%= link_to "Delete", task_path(task.id), method: :delete, data: {confirm: "Are you sure?"}%></button> | ||
|
|
||
| <% if task.completed_at == nil %> |
There was a problem hiding this comment.
Nice use of a conditional in a view. Consider using a ternary operator.
| end | ||
| end | ||
|
|
||
| def complete |
There was a problem hiding this comment.
Consider how making two separate methods, for instance mark_complete and mark_incomplete would make this action idempotent.
|
|
||
| private | ||
|
|
||
| def find_task |
| @@ -0,0 +1,95 @@ | |||
| class TasksController < ApplicationController | |||
|
|
|||
| before_action :find_task, except: [:index, :create] | |||
Task List
Congratulations! You're submitting your assignment!
Comprehension Questions