2013-07-23 29 views
2

我有一个门户模型。每个用户都有自己的门户。现在用户可以在该门户的多个页面上自定义各种字符串以显示他们的客户。总的来说,大约有50个字符串,平均用户从默认值改变到其中的7个左右。你应该在RoR中存储很多自定义字符串?

要做的一个方法是每页使用一个表,并将该页的字符串作为列推送到该表,并将这些表映射到门户。但是,这将创建5个额外的表格,模型和相应的表单管理。此外,这些将是非常稀疏的表格。

有没有更好的方法呢?

回答

1

为什么每个页面都有单独的表格?很可能这些条款将在页面之间共享,并且当您向该应用添加一个新页面时,您将不得不添加一张新表格!

我更倾向于将正好有一个表与“长期”是和在HTML中使用的值,另一个是用户偏好

 
table user_strings (
    user_id int not null 
    term varchar not null 
    val varchar not null 
    primary key(user_id, term) 
    foreign key (user_id) references user(id) on delete cascade 
    index (term) 
) 

如果你没有使用复合主键,然后添加一个默认ID

相关问题