Ruby on rails Rails 2.x将部分呈现为字符串,然后使用其他内容进行响应

Ruby on rails Rails 2.x将部分呈现为字符串,然后使用其他内容进行响应,ruby-on-rails,ruby,Ruby On Rails,Ruby,我需要在控制器中呈现部分,但不是作为对请求的响应。问题是,如果我像在视图中那样调用render:partial=>'foo',控制器会认为我在渲染响应。然后,当我渲染真正的预期响应(或重定向)时,我会得到一个很棒的ActionController::DoubleRenderError class SalesController < ApplicationController def send_content_to_some_api @sale = Sale.find param

我需要在控制器中呈现部分,但不是作为对请求的响应。问题是,如果我像在视图中那样调用
render:partial=>'foo'
,控制器会认为我在渲染响应。然后,当我渲染真正的预期响应(或重定向)时,我会得到一个很棒的
ActionController::DoubleRenderError

class SalesController < ApplicationController
  def send_content_to_some_api
    @sale = Sale.find params[:id]
    SomeApi.send_content(
      render(:partial => 'some_content',
             :locals => { :sale => @sale })
    )

    flash[:notice] = 'Totally just sent that content!'
    redirect_to sale_path(@sale)
  end
end
class SalesController“某些内容”,
:locals=>{:sale=>@sale})
)
flash[:notice]=“完全是刚刚发送的内容!”
重定向到sale路径(@sale)
结束
结束
我可以通过把它放在一个视图中来解决这个问题,但这似乎打破了MVC,使重定向更加混乱

如果控制器不尝试将其用作响应,如何获取字符串中部分的结果?

请参阅