我有一个User类,允许人们注册和玩游戏;我还有一个Game类,其中包含所述游戏(RPS)的逻辑。
当人们注册时,他们的信息保存在psql数据库中。使用参数获得信息。它看起来像这样:
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
相应的Game类,包含此DB逻辑:
class Game
include DataMapper::Resource
property :id, Serial
property :win, ?
property :lose, ?
belongs_to :user
我的问题是我真的不知道如何记录用户赢了/输了多少游戏。我是否需要(或者我应该为胜负而分开?我应该使用什么样的关键类型(serial / int)?我想要的只是'赢'或'输'每次增加一个玩家...好吧,赢或输。
非常感谢所有分享的帮助/知识。
感谢。
答案 0 :(得分:0)
一种方法可以是添加两个整数columsn" wins"和"损失"到用户,并使辅助方法增加:
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