2009-09-20 3 views
1

나는 주어진 검색 기준 (예 : 제목, 키워드, 저자)을 사용하여 Amazon에서 특정 책을 검색 할 수있는 응용 프로그램을 만들고 있습니다. 현재 시도하고 있습니다 이 검색 결과를 MySQL 데이터베이스에 저장하지만 관계 개념에 어려움을 겪고 있습니다. 사용자가 두 번째 검색을하게되면,Has_Many, Belongs_To 데이터베이스 기반 응용 프로그램의 관계

class Search < ActiveRecord::Base 
    has_many :books 
end 

class Book < ActiveRecord::Base 
    belongs_to :search 
end 

그러나, 나는 새 책 검색 결과를 업데이트하는 방법이 필요합니다 :

내가이 같은 모델 뭔가를 구조 것이 자연 보인다. 내 첫번째 성향은 다음과 같은 것을하는 것입니다 :

Search.update(1,:books) 

업데이트 방법은 이와 같이 작동합니까? 나는 올바른 길을 가고 있는가?

또한 데이터베이스에서 검색 결과를 업데이트하는 것이 적합한 경로인지 여부에 대해서는 확신이 없습니다. 두 명의 사용자가 동시에 검색하면 잠재적으로 부정적인 영향을 미칠 수 있습니까? 이러한 검색 결과를 데이터베이스에 저장하는 유일한 이유는 나중에 사용자 세션에서 선택한 책의 정보를 표시해야한다는 것입니다. 검색 결과 만 업데이트하고 데이터베이스를 사용하는 목적을 뒤집을 도구를 사용하는 여러 사용자가있는 경우 두 번째 사용자의 검색 결과가 첫 번째 사용자의 검색 결과를 덮어 쓰게됩니다. 사실입니까?

정보를 사용자의 쿠키에 저장할 수 있습니까?

+0

은 호주에 거주하고 있습니다. www.booko.com.au는이 일을합니다 (아무런 관계도 없음). 나는 그것을 사용하여 책에 수백을 저장했습니다. –

답변

0

을 생각하기 전에을 입력하기 전에 을에 고정해야합니다. 시스템의 필수 동작은 무엇입니까?

모든 사용자가 하나의 글로벌 검색 개체를 공유 하시겠습니까?

은 여러 검색 기록이 각 사용자를 원하십니까 사용자

당 하나 개의 검색 객체를 저장 하시겠습니까?

그런 다음 검색 개체를 적절하게 조정하십시오. 요구 사항이 단일 전역 검색 개체가 아닌 경우 User 또는 "user id"특성을 사용하는 realtionship이 필요합니다.

0

모두 사용자가 실행 한 검색 또는 마지막 검색을 추적하려고합니까? 전자의 경우 데이터베이스에서 추적해야합니다. 후자의 경우 사용자의 쿠키에 정보를 저장할 수 있습니다.

관련 문제