ValidatableAssociations¶ ↑
ValidatableAssociations is a Rails plugin and add-on to Jay Fields Validatable library. This add-on lets you specify associations to other validatable Classes and allows you to set up a decent validatable structure.
Install¶ ↑
Install the gem (recommended):
$ gem install validatable_associations
Please notice that the validatable_associations gem is in the gemcutter repository. Please follow the instructions provided on their website to set up your rubygems installation.
Or install as a Rails plugin:
$ script/plugin install git://github.com/rubiii/validatable_associations.git
Associations¶ ↑
A very simple example of a “User has one Gorilla” association:
class User include Validatable include ValidatableAssociations has_one :gorilla attr_accessor :username, :password validates_presence_of :username validates_length_of :password, :minimum => 6 end class Gorilla include Validatable include ValidatableAssociations attr_accessor :name, :size validates_presence_of :name validates_numericality_of :size end
Currently implemented associations:¶ ↑
The first version of this add-on only includes has_one associations. I intend to only add more associations if I need them myself or if anyone convinces me that he really needs support for another type of association.
Validation¶ ↑
Calling the valid? method (provided by the Validatable library) on an instance of one of your validatable Classes will also run the validations off all associations of the Class.
Mass-assignment¶ ↑
You can use mass-assignment to assign multiple values to your Class at once. This also includes every one of its associations.
user = User.new :username => "apricot", :password => "secret", :gorilla => { :name => "Joe", :size => 4411 }