Topic: Proper way to create a publishing process with draft functionality

I tried searching for answers on this and couldn't find anything. I keep seeing snippets of code that reference a published_at attribute of a post model.  For example:

http://rubysource.com/10-ruby-on-rails-best-practices/

def index 
  @published_posts = Post.all :conditions => {['published_at <= ?', Time.now]} 
  @unpublished_posts = Post.all :conditions => {['published_at IS NULL OR published_at > ?', Time.now]} 
end 

Is that literally just a datetime field like created_at is? And if you have a Status dropdown with