0

我有一个用虾生成pdf的动作

def savepdfs
  respond_to do |format|
    format.pdf {} # Create PDF file and saves in /pdf/print.pdf.
    logger.info ":::::::::::::::::  PDF COVER PAGE CREATED  :::::::::::::::::"
  end
end

我不想向用户显示 pdf。相反,我只想从另一个动作中调用它

def mainaction
    #I want to call something like savepdfs(:format => :pdf)
end

我该怎么做呢 ?

4

2 回答 2

0

将其包装为私有控制器方法

def savepdfs
  respond_to do |format|
    format.pdf { generate_pdf } # Create PDF file and saves in /pdf/print.pdf.
    logger.info ":::::::::::::::::  PDF COVER PAGE CREATED  :::::::::::::::::"
  end
end

def mainaction
  generate_pdf
end

private

def generate_pdf
  # Create PDF file and saves in /pdf/print.pdf.
end
于 2011-04-08T11:34:46.403 回答
0

这是一个 XY 问题*。你不想调用另一个动作,你想把业务逻辑放在它所属的模型中。

* http://www.perlmonks.org/index.pl?node_id=542341

于 2011-04-08T16:32:49.087 回答