2: Dynamic find_by Methods 
    
(view original Railscast)
This is a really useful way to do a Find in Rails. Below is a Task model that searches for tasks that haven’t been completed (i.e. the complete column is false).
class TaskController < ApplicationController
    def incomplete
        @tasks = Task.find(:all, :conditions => ['complete = ?', false])
    end
    def last_incomplete 
        @task = Task.find(:first, :conditions => ['complete =?', false], :order => 'created_at DESC')
    end
end
There is a better way to achieve this with find_by_all. Just replace
@tasks = Task.find(:all, :conditions => ['complete = ?', false])
with
@tasks = Task.find_all_by_complete(false)
If you just want to find one Task then use find_by, so to find the latest incomplete task the line
@task = Task.find(:first, :conditions => ['complete =?', false], :order => 'created_at DESC')
becomes
@task = Task.find_by_complete(false, :order => 'created_at DESC')
The find_by method takes the order parameter just like the find method does.






