2013-07-23 2 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를 추가하십시오

관련 문제