2013-05-05 3 views
0

다음은 프로그래밍 문제입니다. 나는이 새로운 ...레일에서 지연된 연결 구현

레일스 웨이를 우아한 코드로 만들고 싶습니다. 그리고 그 과정에서 뭔가를 배우고 싶습니다.

내 앱에서 플레이어는 액션 (30 분에서 시작하여 초점을 25 분)을 추적합니다. 작업 # new form이 처음에는로드되지만 25 분이 끝날 때까지 저장되지 않습니다. 마지막 2 분은 회고전이며 필요한 "how did it go"질문을 포함합니다.

이제 통계 테이블을 추가하고 싶습니다. 저는 더 큰 "새로운 액션"형식과 조화를 이루는 분리 된 작은 "새로운 통찰력"형식을 떠 올립니다. 나는 언제라도 통찰력을 구하고 싶습니다.

인사이트가 특정 액션과 연결되기를 원합니다. 액션이 아직 생성되지 않았고 어떤 아이디가 있는지도 모르겠지만 (다른 누군가가 자신의 액션을 기록하기 전에 해야 할 것). 통찰력이 생성되었지만 액션이 실패한 경우, 나는 무엇을해야할지 아직 확신하지 못합니다. 액션이없는 통찰력을 허용 할 수 있습니다.

어떻게 구현하나요? 임시 변수? 어디로 갈 것입니까?

다시 말씀 드리지만, 저는 이번에도 신제품입니다. 귀하의 협조에 감사드립니다.

미하이 TheActionGame.com

답변

0

당신의 행동이 어떤 의미인지는 확실하지만 시간 기반의 원칙이 있어도 이전에 그 행동을 저장하는 것을 방해하는 것은 없습니다 브라우저 기반 응용 프로그램의 경우 새로 고침이나 연결 실패와 같은 많은 나쁜 일이 발생할 수있는 많은 시간이 25 분입니다.

내 조언은 즉시 조치를 작성 (저장)하여 통찰력을 링크 할 수 있도록하는 것입니다. Action에 "status"컬럼을 추가 할 것입니다. "새로운"(기본 상태), "확인 됨"및 필요한 경우 다른 것과 같습니다.

그런 다음 "확인 된"작업에서만 작업하고 결국 "새로운"사람을 정기적으로 삭제할 수 있습니다 (예 : 30 분 이상 경과하고 thresold가 25 인 모든 것).

희망은 이것 (레일보다 더 많은 디자인, 어쨌든).

+0

고마워요. 내 생각과는 조금 다른 새로운 것들을 지우고 있습니다. – bluemihai

0

당신은 배열로 당신의 행동 "insight_ids '에 열을 추가하고 has_and_belongs_to_many로 구현할 수 있습니다. 다음 통찰력이있을 때 통찰력의 ID를 배열에 기록하십시오.

+0

답변 해 주셔서 감사합니다. 나는 그것이 어떻게 작동하는지 정확히 모르겠다. 내가 그걸하고 싶다면 아마 링크를 찾을 수 있지만, 내가 볼 곳을 제안 할 수 있니? – bluemihai