如何与rails模板一起使用wkhtmltoimage而不会出现Double渲染错误

时间:2012-03-09 02:23:29

标签: ruby-on-rails wkhtmltoimage

我正在尝试使用WkhtmlToImage来回应PNG而不是HTML,

这个PNG本质上是同一个html的图片版本, 要回复这个PNG,我需要构建我的html作为src来提供 进入ImgKit,我想使用rails模板为我的HTML ..

当我执行以下操作时,我会出现双重渲染错误... 怎么解决这个问题?

respond_to do |format|
            format.html { }
            format.png {

            generated_html = render :action => "datatable.png.erb"

            # Ready to generate PNG image from html
            Mime::Type.register "image/png", :png

            IMGKit.configure do |config|
              config.default_options = {
                :quality => 1
              }
              config.default_format = :png
            end

            kit = IMGKit.new( generated_html )
            send_data( kit.to_png, :type => "image/png", :disposition => 'inline')
        }
    end

在此操作中多次调用渲染和/或重定向。请注意,您只能调用渲染或重定向,每次操作最多一次。另请注意,重定向和呈现都不会终止执行操作,因此如果要在重定向后退出操作,则需要执行类似“redirect_to(...)并返回”的操作。

1 个答案:

答案 0 :(得分:-2)

好吧,我自己已经找到了答案。哪个是使用ERB。