0

Princely と Rails 3 を使用しています。このような pdf をレンダリングしようとすると.. respond_to do |format|
format.pdf do
render :pdf => "filename", :template => "path/template.pdf"
end
end

ダウンロードしたファイルは text/html 形式です。

これを修正して機能させるにはどうすればよいですか。config/initializers/mime_types.rb に次の行を追加しました

Mime::Type.register "application/pdf", :pdf

4

1 に答える 1

0

昨日同じ問題が発生し、解決策を探しているときにこの質問に出くわしました。

私の場合、プロジェクトのディレクトリ構造のどこかにではなく、Princely gem をグローバルに (つまり、私のグローバル RVM リポジトリに) インストールしました。そのため、Princely のコードはまったく読み込まれませんでした。最終的に、プロジェクトの conf/initializers に新しい「prince.rb」ファイルを次のように作成しました。

require 'princely'
require 'princely/rails'

Princely 1.2.5/lib/princely/pdf_helper#stylesheet_file_path が ActionView::Helpers::AssetTageHelper を参照しているため、その時点でまだ Rails エラーが発生しました。これは明らかに Rails 2ism です。そのメソッドの本体を「スタイルシートを返す」に変更しただけで、すべてが機能しました。

私はまだ Rails を使い始めたばかりです。たぶん、もっと知っている人がより良い方法でチャイムを鳴らすことができます。

于 2010-12-07T13:36:09.483 に答える