가장 좋은 방법은 hit_type
필드를 포함하여 조회수를 계산하기위한 또 다른 Model
이 검색의 조회수와 프로필 조회수 사이에 다른 것으로 생각합니다. 이 모델은 다음과 같을 수 있습니다 :
이
Hit hit_type:string user_agent:string ip:string horse_id:integer`
는 그런 다음 has_many
를 통해 Horse
모델과 Hit
모델을 연결하고 검색 행동에 당신은 또한 각각의 새로운 히트 개체를 각각 발견 말에 대한 hit
의 새로운 객체를 생성하고 프로필보기. 유일한 차이점은 예를 들어 "검색"과 "프로필"일 수있는 hit_type입니다. 그럼 당신은 Hit
모델 모두에 대한 범위를 작성할 수
scope :searched, where("hit_rype = ?", "search")
scope :viewed, where("hit_type = ?", "view")
그럼 당신은 쉽게 말 뷰를 확인할 수 있습니다 :
horse.hits.searched.count # returns count of views
horse.hits.viewed # returns count of profile views
희망이 당신을 도와줍니다!
// 귀하의 사이트를 살펴 보았습니다. 당신의 웹 사이트를 가진 당신의 일을하는 경우에 당신은 SEO에 관하여 알아야한다 그래서 당신은 찾아 냈다! 귀하의 모든 도메인 이름은 camelCase를 사용하지만 google은 도메인 이름, 단어 등으로 camelCase를 인식합니다 ... 단지 힌트
업데이트 ................. – davidb
응답 해 주셔서 감사합니다. 검색 결과 페이지가 표시 될 때마다 20 개의 히트를 작성하면 원하는 작업이 아니라 페이지로드가 느려지는 것 같습니다. 그것을 잘 수행하는 방법에 대한 제안? 아마도 delayed_job 또는 비슷한 것을 통해 모든 것을 호출 할 것입니까? – DougB
시도해보십시오. 유사한 응용 프로그램을 사용하면 응용 프로그램이 느려지지 않습니다. 페이지가로드 될 때마다 100 개체가 사라집니다! – davidb