构建Facebook应用:从腰带系统到性能优化
1. 创建腰带模型
在许多热门的Facebook应用中,常常会设置奖励机制来激励高级用户,常见的奖励形式是解锁特定物品。这里我们以空手道腰带为例,用户使用应用越频繁,就能解锁更多的招式。
在这个应用里,每个用户都有一条腰带,从白带开始,逐步晋升到黑带。每次获得新腰带,用户就能解锁新的招式。为了实现这个功能,我们给每个招式设置一个难度值,比如空手道劈砍难度为1,鹤踢难度可能为4或5。每条腰带也有对应的难度等级,白带难度为1,只能使用难度为1的招式;黑带难度为9,可以使用难度9及以下的所有招式。
接下来,我们确定腰带模型所需的属性,包括腰带名称、下一级腰带ID和最低命中次数。使用以下命令生成腰带模型:
$ script/generate model Belt name:string \
level:integer next_belt_id:integer minimum_hits:integer
在运行 rake db:migrate 之前,需要对用户表和招式表进行修改。用户表添加 belt_id 列,招式表添加 difficulty_level 列。以下是迁移文件的代码:
class CreateBelts < ActiveRecord::Migration
def self.up
create_table :belts do |t|
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



