Validate a model using validation tools provided by ActiveRecord even though the model does not have a corresponding table
Pull request Compare This branch is 1 commit behind bigbinary:master.
Latest commit 4ea66b7 Aug 22, 2009 Neeraj Singh updated README
Permalink
Failed to load latest commit information.
lib
.gitignore
History.txt added the ability to do mass assignment and bumped up version Jul 9, 2009
Manifest.txt
PostInstall.txt
README.markdown
active_record_no_table.gemspec added the ability to do mass assignment and bumped up version Jul 9, 2009

README.markdown

active_record_no_table

Introduction

Using ActiveRecord validation utilitites is difficult if you do not have a table for your model. This gem makes it easy to use validation tools even if the model does not have a corresponding table.

This gem works with Rails 2.1 and higher.

How to install

  
gem sources -a http://gems.github.com
sudo gem install neerajdotname-active_record_no_table
  
  
config.gem "neerajdotname-active_record_no_table", 
           :lib => active_record_no_table',
           :source => 'http://gems.github.com'                                        
  

How to use this gem

  
class Contact  < ActiveRecord::NoTable
  attr_accessor :name, :email, :body, :subject
  validates_presence_of :name, :email, :body
  validates_format_of   :email,     
                        :with => Format::EMAIL,
                        :message => "^The email address is not valid. Please enter a valid email address.",
                        :if => Proc.new { |record| record.email.not_blank?}   
end

# in controller
@contact  = Contact.new(params[:contact])
if @contact.valid?
  ...
end

# using script_console
>> c = Contact.new
=> #
>> c.valid?
=> false
>> c.errors.full_messages
=> ["Please enter your name", "Please enter the message that you want to send", "Please enter your email address"]

Feedback

Email me: neerajdotname [at] gmail (dot) com

source code

http://github.com/neerajdotname/active_record_no_table/tree/master

Author Blog

http://www.neeraj.name

License

MIT

Copyright (c) 2009 neerajdotname