Ruby on Rails의 ": 컨퍼런스 =>"옵션에 입력 한 양식의 내용을 보여주는 방법
-
18-09-2019 - |
문제
실제로 DB에 저장하기 전에 입력 한 정보를 확인하려고 노력하고 있습니다.
여기에서 논의 된대로 개별 확인 페이지를 만드는 것을 고려합니다
Ruby on Rails : ActiveRecord 개체 생성에 대한 확인 페이지
그러나 내 양식에는 Paplip을 사용하여 첨부 된 파일이 포함되어있어 구현하기가 더 번거 롭습니다.
사용자가 방금 입력 한 정보를 보여줄 수있는 확인 => 팝업이 있다고 생각했습니다.
문제는 예를 들어 사용자가 방금 입력 한 정보를 보여주는 방법입니다.
<% form_for @entry, :html => { :multipart => true } do |f| %>
<%= f.error_messages %>
<%= f.label :name %><br />
<%= f.text_field :name %>
<%= f.label :file %><br />
<%= f.file_field :file %>
<%= f.submit 'Create', :confirm => "????? " %>
<% end %>
해결책
로딩 첨부 파일이 주어지면 첨부 파일에서 파생 된 정보를 포함하여 스테이징보기를 렌더링하는 것은 나쁜 생각이 아닐 수 있습니다. 파일이 이미지 인 경우 파일이 표시되거나 텍스트 파일 등의 첫 번째 단락 인 경우.
확인 팝업을 추가하는 것보다 더 많은 작업이 필요하지만 향상된 사용자 경험이 추가 노력의 가치가 있다고 생각합니다.
나는 그 페이퍼 클립이 작동하는 방식에 익숙하지 않습니다. 그래서 당신은 주로 친밀한 세부 사항을 위해 혼자입니다.
업로드 된 파일의 샘플과 함께 준비보기를 렌더링하기 전에 레코드를 만들어야 할 것입니다. 이를 달성하기 위해 해당 모델에 "활성"열을 설정하여 기본값을 거짓으로 설정했습니다.
사용법은 다음과 같이 보입니다.
- 사용자가 새로운 형태를 만족시킵니다.
- 첨부 파일이 업데이트되고 레코드가 저장되며 활성 필드는 False로 설정됩니다.
- 확인 링크/버튼 및 취소 링크/버튼이있는 표시 페이지 인 확인 페이지로 리디렉션되었습니다.
ㅏ. 확인 링크/버튼이 클릭되면 컨트롤러에 요청을 보냅니다.
비. 취소 링크/버튼을 클릭하면이 레코드에서 파괴 동작을 트리거하는 컨트롤러에 요청을 보냅니다.
남은 것은 비활성화 된 객체를 제거하고 오랫동안 오랫동안 상자를 제거하는 반복적 인 작업을 설정하는 것입니다. 사용자가 브라우저 세션을 막았다 고 가정하는 것이 안전합니다.
다른 팁
Rails 제출 방법의 확인 옵션은 텍스트 값 만 가져갈 수 있습니다.
확인 텍스트 확인 텍스트를 동적으로 생성하려면 자신의 HTML 제출 태그를 작성하고 사용자 정의 자바 스크립트를 작성하여 생성 된 텍스트에서 사용하려는 필드를 분석하는 것입니다.
또는 Rails 제출 방법을 사용할 수 있지만 jQuery와 같은 것을 사용하여 이벤트 핸들러를 추가하십시오.
난 그냥 내 던질거야 on 클릭 핸들러에 JS. 그것은 모든 철도입니다.
<%= f.submit 'Create', :onclick => "confirm('Name is ' + $F('entry_name'));" %>
(참고, 테스트하지는 않았지만 가까이 보입니다. 확인은 LIB의 일부가 아닌 핵심 JS 기능입니다).