你应该在RoR中存储很多自定义字符串?

时间:2013-07-23 13:48:41

标签: mysql ruby-on-rails ruby-on-rails-3

我有一个门户模型。每个用户都有自己的门户网站。现在,用户可以在该门户上的多个页面上自定义各种字符串以向其客户显示。总体而言,大约有50个字符串,平均用户从默认值变为大约7个字符串。

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

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

为什么每个页面都有一个单独的表格?这些术语很可能会跨页面共享,当您向应用程序添加新页面时,您将需要添加新表格?? !!

我的偏好只是让一个表中的'term'是你的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