2010-12-08 22 views
2

Rails3でAJAX呼び出しを使用してPDFファイルを生成しようとしています。次のコードは、PRAWN gemを使用して作成したPDFファイルを生成します。AJAXコールを使用してPDFファイルを生成

<%= link_to "Generate pdf", books_path(@book, :format => 'pdf') %> 

私はユーザーが注文するまでPDFを表示したくありません。したがって、目標はサーバーにPDFファイルを作成することです。

ご意見やご感想をお待ちしております。

+2

? – edgerunner

+0

上記の記事をもう一度読む... – safalmj

答えて

0

ありがとうAriejan。 私は次のようにコードを修正しました。再び質問した何

<%= link_to "Generate Story Book", pdfbook_stories_path(:format => 'pdf'), :remote => true %> 

とコントローラのため、

def pdfbook 
    @stories = current_account.stories 
    respond_to do |format| 
     format.pdf {} 
    end 

エンド

1

これを使用して、リモートアクションがPDFを返さないようにしますが、単純に生成してサーバーに保存します。

link_to "Generate PDF", prepare_books_path(@book), :remote => true, :method => :put 

あなたはjQueryのを使用している場合これは正しく物事を設定する方法についてthis articleを読んでください、Railsの3で動作します。

お使いのコントローラのアクションは、次のようになります。あなたが(例えば、あなたが何か新しいものを生成しているデータの状態を変更しているので、

def prepare 
    # Do your thing to generate the PDF 
    render :text => "PDF Generated", :status => 200 
end 

私は、PUTメソッドを使用し、あなたはボットを望んでいませんか、自動的にそれを呼び出すクローラー)。

0

まず、ユーザーがそのアクションを期待していないときに、PDFを生成するようなリクエストで何かをするのは私にはうってつけです。ユーザーがそれを要求したときだけpdfを生成する方が良いのですか?

+0

私のアプリケーションのシナリオは、あなたがHarishを考えているものと少し異なります。そして私はここですべてを説明することが重要だとは感じません。とにかくありがとう。 – safalmj

関連する問題