2012-02-26 3 views
0

누구나 디자인에 대한 도움을 주실 수 있습니까? 내 사용자가 내 사이트에 짧은 일반 업데이트를 입력하면 특정 시간 제한에서 동일한 업데이트를 두 번 이상 입력하면 업데이트가 "빠른 링크"로 제공되므로 나중에 동일한 업데이트를 신속하게 입력 할 수 있습니다.중복 업데이트 디자인 유지

모델을 작성하는 가장 좋은 방법은 무엇입니까? 2 개의 테이블, 하나는 업데이트 용이고 다른 하나는 두 번 이상 입력 된 업데이트를 유지하고 빈도별로 정렬합니다. 이 시스템이 있으면 새 업데이트가 추가 될 때마다 2 개의 테이블을 스캔하여 이전에 이미 입력했는지 확인해야합니다. 이상적이지 않습니다.

답변

1

활성 레코드를 사용한다고 가정하면 find_or_create_by 메소드를 사용할 수 있습니다.

메시지 ID : 몸을 int로 : 문자열 USER_ID : int로 created_at : 날짜 시간

이 테이블 장소에있는 경우에는 다음을 수행 할 수

을 의는 다음과 같이 테이블이 있다고 가정 해 봅시다
# Assuming the users have_many :messages 
update = user.messages.find_or_create_by_body("string") 

본문 "본문"이있는 메시지를 찾거나 새 메시지를 만듭니다.

당신은 또한 주파수를 업데이트해야 할 경우 메시지 테이블에이를 추가하고 호출 할 수 있습니다

update.update_attributes(:frequency => (update.frequency +1)) 
관련 문제