Rails Twilio呼叫跟踪应用程序 - 这是正确的数据结构吗?

时间:2012-10-02 05:11:26

标签: ruby-on-rails ruby-on-rails-3.2 twilio

在完成关于Rails的Michael Hartl教程后,我的第一个宠物项目是使用Twilio API构建一个呼叫跟踪应用程序。基本思路如下 -

用户可以注册4个计划,这限制了他们拥有的电话号码数量以及他们可以使用的分钟数

每个用户一旦注册,就会从Twilio获得自己的子帐户

每个用户都可以购买电话号码,仅限于他们的计划

每个用户都可以跟踪他们的电话号码发生了什么。

现在,我已经构建了一个基本的授权系统,并集思广益了一个潜在的数据结构。虽然我在理解上有很大的循环漏洞,所以有经验的程序员的眼睛会非常感激。我是否有更好的数据结构,我在下面概述的内容是否有意义?

---所以,这是数据结构

表:计划

max_phone_numbers: integer 
max_minutes: integer
has_many: users 

表:用户

name:string
email:string
password_digest:string
remember_token:string [For log in system]
Twilio_SubAccountSid: string
Twilio_SubAccountAuthToken: string
Plan id : integer [to connect to plan] 
stripe_token : string [for charging]
belongs_to: plan
has_many: phone_numbers

表:电话号码

belongs_to users
phone_number:string
user_id: integer
has_many: data_points

表:Twilio数据

belongs_to phone_numbers
phone_number_id: string
[All of Twilio's call tracking data..i.e duration of call, location etc.]

好的,这几乎是我对它如何运作的诠释。请撕开它!

1 个答案:

答案 0 :(得分:0)

就数据结构而言,我认为这似乎就是这样。我没有意识到的是,还有更多的控制器参与其中。例如,在Twilio中搜索和购买涉及两个CREATE操作,因此我不得不制作另一个控制器。我想会有另一个控制器来负责路由呼叫。