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 に答える