Ruby 追踪胜负;PSQL/DataMapper的损失
我有一个用户类,允许人们注册和玩游戏;我还有一个Game类,其中包含所述游戏(RPS)的逻辑 当人们注册时,他们的信息保存在psql数据库中。使用参数获取信息。看起来是这样的:Ruby 追踪胜负;PSQL/DataMapper的损失,ruby,oop,sinatra,datamapper,Ruby,Oop,Sinatra,Datamapper,我有一个用户类,允许人们注册和玩游戏;我还有一个Game类,其中包含所述游戏(RPS)的逻辑 当人们注册时,他们的信息保存在psql数据库中。使用参数获取信息。看起来是这样的: Class User attr_reader :weapon include DataMapper::Resource property :id, Serial property :name, String, required: true property :email, S
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
我的问题是,我真的不知道如何记录用户赢/输了多少场比赛。我是否需要(或者我应该为赢和输分别设置不同的类?我应该使用什么键类型(串行/整数)?我只想让“赢”或“输”在玩家每次赢或输时增加一个
非常感谢所有共享的帮助/知识
谢谢。一种方法是向用户添加两个整数“赢”和“输”,并使助手方法递增:
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