2009-12-11 6 views
0

나는 사용자 등록을하지 않는 게으른 아이디어에서 내 사이트를 실행하려고합니다."즐겨 찾기"를 Rails 쿠키에 저장하고 있습니까?

어쨌든, 나는 사용자가 사이트에 "좋아"항목들이 내가이 있지만 쿠키를 사용할 필요가 있으리라 믿고있어에 "항목"

떨어져 "좋아"를 클릭 할 때 수 있도록하려면 다음 단계를 실제로 알지 못한다. 누구든지 올바른 방향으로 나를 가리킬 수 있을까요?

감사합니다.

답변

2

특정 레일이 아니지만 쿠키에 너무 많은 물건을 저장하는 아이디어는 싫습니다. 대신 웹 사이트의 데이터베이스에 저장하고 쿠키에 기본 키 값을 저장합니다. 그렇게하면 인터넷을 통해 너무 많이 전송하지 않고도 원하는만큼 저장할 수 있습니다. "등록 안됨"접근법의 단점은 새 컴퓨터 나 동일한 컴퓨터의 새 브라우저로 변경된 경우 저장된 데이터를 모두 잃게된다는 것입니다.

내 앱에서 "세션 ID"가있는 쿠키를 저장하는 것입니다. 그런 다음 세션 ID가 마지막으로 표시된 날짜와 같은 일회용 데이터를 저장하는 여러 테이블과 세션 ID 당 여러 항목을 저장하는 테이블이 여러 개 있습니다. 저는 "state_states (session_id, state)"테이블을 가지고 있습니다. 예를 들어, 사람이 미국 주 목록에서 선택한 각 상태에 대해 하나의 레코드를 저장합니다.

지난 날짜를 저장하는 한 가지 이유는 데이터베이스에서 쿠키를 생성 할 때 +2 년의 만료 기간이 있기 때문에 2 년 동안 보지 못한 세션 ID를 제거한다는 것입니다.

+0

그럼 즐겨 찾기 테이블을 가지고 있다고 가정 해 봅시다. 사용자가 즐겨 찾는 각 항목에 대해 항목의 ID로 새로운 즐겨 찾기 레코드를 만든 다음 즐겨 찾는 기본 키 값을 가리키는 쿠키를 만듭니다. 임의의 가짜 코드가 가능합니까? :) –

+0

또한 쿠키는 문자열 값일 수 있습니다. 즐겨 찾기 배열을 가져올 수없는 경우 즐겨 찾기 항목 컬렉션을 반복하여 사용자에게 표시하려면 어떻게해야합니까? –

0

아마도 Rails의 쿠키에 대해 자세히 알 수 있습니다. 이 link에는이 주제에 대한 많은 정보가 있습니다. 나는 네가 그것을 고맙게 여길 것이라고 생각한다!

하지만 쿠키를 사용하여 너무 많은 정보를 저장하지 않도록주의하십시오.

관련 문제