2017-05-31 7 views
0

私はユーザーがゲームを登録してプレイできるようにするUserクラスを持っています。私はまた、ゲーム(RPS)のロジックを含むGameクラスを持っています。PSQL/DataMapperで勝敗を確認する

人が登録すると、その情報はpsqlデータベースに保持されます。情報はparamsを使用して取得されます。

Class User 

    attr_reader :weapon 

    include DataMapper::Resource 

    property :id,  Serial 
    property :name, String, required: true 
    property :email, String, required: true, unique: true 
    property :password_digest, Text 
    attr_reader :password 
    attr_accessor :password_confirmation 

    validates_confirmation_of :password 
    validates_format_of :email, as: :email_address 

    has n, :games 

対応するゲームクラスは、このDBロジックが含まれています:それはこのようになります

class Game 

    include DataMapper::Resource 

    property :id,  Serial 
    property :win, ? 
    property :lose, ? 

    belongs_to :user 

私の問題は、私が実際にどのように多くのゲームユーザーの記録を保持する方法がわからないということです勝った/失った。私は必要なのでしょうか(勝利と損失のために別々のクラスを用意する必要がありますか?どのタイプの鍵を使うべきですか(シリアル/ int)ですか?よく、勝敗。

共有すべてのヘルプ/知識が大幅に高く評価される。

おかげ。それは「勝利」とユーザーに「損失」columsn 2つの整数を追加することができませんする

答えて

0

1つの方法、増分するヘルパーメソッドを作成する:

property :wins, Integer, default: 0 
property :losses, Integer, default: 0 

# usage: user.increment(:wins) or user.increment(:losses) 
def increment(type) 
    update({ type => (send(:type) + 1) }) 
end 
関連する問題