Jak renderować szablon erb w łańcuchu akcji?
Potrzebuję ciąg html (coś w tym stylu)"<html><body>Hello World</body></html>"
) do celów faksowania.
Napisałem go w pliku erb seprate:views/orders/_fax.html.erb
i spróbuj renderować erb w akcji:html_data = render(:partial => 'fax')
.
Oto część kontrolera, która porusza ten problem:
respond_to do |format|
if @order.save
html_data = render(:partial => 'fax')
response = fax_machine.send_fax(html_data)
......
format.html { redirect_to @order, notice: 'Order was successfully created.' }
format.json { render json: @order, status: :created, location: @order }
else
format.html { render action: "new" }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
Dał mi AbstractController :: DoubleRenderError jak poniżej:
AbstractController::DoubleRenderError in OrdersController#create
Render and/or redirect were called multiple times in this action. Please note that you may only call render OR redirect, and at most once per action. Also note that neither redirect nor render terminate execution of the action, so if you want to exit an action after redirecting, you need to do something like "redirect_to(...) and return".
Jak rozwiązać ten problem?