add a new footer [cg]
test
test
替换Party为Activity
重写creat_activity函数
将activity写成对象，有name和status属性，通过new一个实例对象
通过url将status传到报名页面，读取status的值判断显示开始或结束按钮和在列表页面是否显示黄色
重写check_repeat函数，通过underscore的find函数遍历
写一个方法判断是否有活动报名正在开始Activity.has_started_activity()。如果为真则其他活动报名的开始按钮不可用
将报名信息存入Activity中的information中
重写报名信息即使刷新函数
重写一个Activity.sign_up_number方法，获取报名人数
重写函数sign_up_number显示报名人数
重写验证电话号码重复函数Activity.check_phone_repeat
重写change_status函数,实例一个对象来更换状态
干掉Activity.activity_number()里的if else
用find_by方法替换掉所有重复的查找
重写创建竞价函数
竞价列表显示全部竞价名字
点击开始竞价通过Bid.storage（）的长度来判断竞价的名字并创建竞价