:
, (, ):
http://yuml.me/6afcad62
:
:
class CreateAwards < ActiveRecord::Migration
def self.up
create_table :awards do |t|
t.string :name
t.text :description
t.references :user, :null => false
t.references :game_week
t.references :badge, :null => false
t.timestamps
end
add_index :awards, [:user_id, :badge_id, :game_week_id], :unique => true
end
def self.down
drop_table :awards
end
end
:
:
class Award < ActiveRecord::Base
validate_uniqueness_of :user, :badge,
:if => Proc.new { |award| award.badge === BadgeA }
validate_uniqueness_of :user, :badge, game_week,
:unless => Proc.new { |award| award.badge === BadgeA }
end
:
, , :)