Мне нужна строка html (что-то вроде "<html><body>Hello World</body></html>"
) для отправки по факсу.
Я написал его в отдельный файл erb: views/orders/_fax.html.erb
,
и попытайтесь сделать erb в действии: html_data = render(:partial => 'fax')
.
Вот часть контроллера, которая вызывает проблему:
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
Он дал мне AbstractController:: DoubleRenderError, как показано ниже:
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".
Как решить эту проблему?