2011-07-01 6 views
0

필자는 최근 Ruby on Rails를 사용하여 내 프로젝트를 시작했으며 재미있는 벽에 부딪혔다. 나는 비계를 사용하고 있지만 데이터를 입력 한 후에 기본 표시 페이지로 이동하는 대신 작성한 다른 페이지로 리디렉션하려고합니다. 키는 페이지가 다른 폼이고 그 폼의 절반이 이전 폼에 입력 된 값들로 구성되어 있습니다. 그래서 필자는 그것을 데이터베이스에 기록하는 대신 메모리에 보관해야한다고 추측했다. 내 원래의 아이디어는 테이블을 쿼리하고 마지막 레코드를 찾지 만 여러 사용자가 아마 그럴 수는 없습니다. 아무도 도와 줄 수 있습니까? 예는 위대하거나 심지어 올바른 방향으로 나를 가리킬 것입니다 임 C++, jave 등으로 꽤 familier 임, 그래서 컴퓨터 전문 용어를 이해합니다. 당신은 저장할 수Ruby on Rails의 양식

감사

답변

0

두 번째 양식으로 이동하기 전에 첫 번째 양식의 데이터가 데이터베이스에 저장되는 경우 신경 씁니까? 그렇지 않다면 컨트롤러에서 create 액션을 설정하여 원하는 새 페이지로 리디렉션 할 수 있습니다. 사용자 세션을 관리하는 방법에 따라 사용자가 첫 번째 양식에 저장 한 정보를 가져올 수 있습니다. 예를 들어 Devise를 사용하여 세션을 처리하는 경우 사용자가 첫 번째 양식에서 사용자 이름, 전자 메일 및 암호를 입력 한 다음 별도의 전자 메일 옵션이있는 프로필 양식으로 리디렉션하게 할 수 있습니다. user.email을 표시하도록 입력란을 미리 채울 수 있지만 사용자에게 프로필에 대해 별도의 이메일을 만들 수있는 옵션을 제공합니다. 프로필에 대한 새로운 작업에서 @profile.email = current_user.email을 추가하기 만하면됩니다. 사용자가 두 테이블 모두에 대해이 필드를 별도로 편집 할 수 있습니다.

두 형식으로 입력 된 데이터가 동일한 데이터베이스 테이블을 가리 키도록하려면 중첩 된 특성을 사용하는 것이 좋습니다. 이렇게하면 별도의 테이블에 전자 메일 열이 없습니다. Railscasts에는 이것을하는 방법에 관한 꽤 좋은 에피소드가 있습니다. http://railscasts.com/episodes/196-nested-model-form-part-1

0

모든 세션에서 첫 번째 양식 데이터에 입력. 리디렉션 한 후에 세션의 저장된 데이터에서 모든 양식 입력을 채운 다음 해당 세션 데이터를 지울 수 있습니다.