그래서 내 앱이 Ryan Bates의 railscast를 따라 S3에 문서를 업로드하도록 설정했습니다. 현재 파일을 업로드 할 수있는 양식이 문서 자원의 색인 페이지에 있습니다. S3에 성공적으로 업로드되면 해당 양식은 사용자가 파일 이름을 변경할 수있는 새 작업을 렌더링합니다 (이름이 로컬 인 경우).S3 업로드가 가능한 가장 적은 단계
하지만 이것을 리팩터링하여 '/ new'페이지로 사용자를 리디렉션하지 않아도됩니다. 사용자에게 파일의 이름을 바꿀 기회를 제공하고 싶지 않습니다.
파일을 S3에 업로드 한 다음 작성 작업에 게시 할 수있는 방법이 있어야합니다.
이것은 내 컨트롤러가 지금과 같은 모습입니다.
class DocumentsController < ApplicationController
before_filter :authenticate_user!
def index
@page_title = "Docs"
@documents = household.documents.all
@uploader = Document.new.file_upload
@uploader.success_action_redirect = new_document_url
end
def new
@page_title = "New Doc"
@document = Document.new(household_id: household.id, key: params[:key])
end
def create
@doc = Document.new(params[:document])
if @doc.save
flash[:notice] = "Consider it done!"
redirect_to documents_path
else
flash[:notice] = "Oops. Please try again."
render 'new'
end
end
end
어떻게하면이 상황을 단순화하고/새 페이지를 렌더링하지 않아도됩니까?/new를 렌더링하는 대신 작성 작업에 게시하고 싶습니다. 이 줄을 수정해야합니다 :
@uploader.success_action_redirect = new_document_url
그러나 나는 그것이 무엇이어야하는지 모른다.
당신은 무엇을 대신하기를 원하십니까? – Vidya
미안하지만 나는 그것에 대해 명확하지 않았습니다. 게시물을 편집하여 파일을 업로드 한 후 /에 새 사용자를 착신시키는 대신 작업 만들기에 게시하기를 원합니다. 기본적으로 사용자가 전체/인덱스에 머물러 있기를 바랍니다. –