Skip to content

Instantly share code, notes, and snippets.

@sherwinyu
Created July 15, 2012 04:31
Show Gist options
  • Save sherwinyu/3115002 to your computer and use it in GitHub Desktop.
Save sherwinyu/3115002 to your computer and use it in GitHub Desktop.
Rails validation design question
class Contribution < ActiveRecord::Base
attr_accessible :reward_id, :reward
belongs_to :reward
validates_presence_of :amount
validates_numericality_of :amount, greater_than: 0
validates_presence_of :reward
validates_each :amount, unless: Proc.new{ |contrib| contrib.reward.nil? } do |contribution, attr, value|
reward = contribution.reward
contribution.errors.add(attr,
"Contribution must be at least #{reward.minimum_contribution} #{reward}'s minimum contribution") unless value > reward.minimum_contribution
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment