Генерировать PDF, если объект сохраняется
Я использую драгоценный камень wicked_pdf для создания PDF-файла:
Я хочу генерировать PDF, только если объект сохраняется / сохраняется в базе данных:
Что-то вроде этого:
def new
@invoice = Invoice.new
respond_to do |format|
format.html # new.html.erb
end
end
def create
@invoice = Invoice.new(invoice_params)
respond_to do |format|
if @invoice.save
format.html { redirect_to invoice_path(@invoice), notice: "Yesss!") }
else
format.html { render action: new, :alert => "Oops :(" }
end
format.pdf do
@example_text = "exampletext"
render :pdf => "file_name",
:template => 'path/to/template'
end
end
end
Но с этим кодом реагировать только на HTML. Я хочу создать PDF внутри:
if @invoice.save
#generate the pdf here
format.html { redirect_to invoice_path(@invoice), notice: "Yesss!") }
else
Как я могу это сделать, Могу ли я использовать обратный вызов?
1 ответ
Решение
Удалить respond_to
блокировать так:
def create
...
if @invoice.save
render :pdf=>"file_name",
:template=>'/path/to/template'
else
render action: "new", :alert=>"Oops :("
end
end