Как я могу отрендерить отправку клиенту файла (PDF, CSV и т. Д.) Без рендеринга этого файла?
Например, представьте контроллер учеников (созданный с помощью скаффолда), у нас есть «новая» формаи действие «создать»:
def new
@student = Student.new
respond_to do |format|
format.html # new.html.erb
end
end
def create
@student = Student.new(params[:student])
respond_to do |format|
if @student.save
flash[:notice] = 'Student created'
format.html { redirect_to(@student) }
else
format.html { render :action => "new" }
end
end
end
Когда ученик успешно создан, он будет перенаправлен на шаблон «показать».Все в порядке!Но мне нужно отправить клиенту, например, файл PDF, а затем выполнить действие «show».
Этот файл PDF похож на квитанцию о создании для клиента.
Дополнительная информация: теперь используйтеКреветка для создания PDF и отправки клиенту с помощью кода, подобного следующему:
respond_to do |format|
format.pdf { render :layout => false }
end
Вкратце, мне нужно получить заполненную форму, создать студента, отправить PDF в браузер (как квитанция о создании) и выполнить действие «показать»для отображения созданного студента.
Большое спасибо.