2016-11-08 4 views
1

私はレンダリングのレンダリング機能に問題があります。私は--apiフラグを使用してアプリケーションを作成したので、私は '完全な'レールアプリでテストし、その作品はうまくいくので、これが問題になると思います。Rails render_to_string

基本的に私が呼び出しています:

body_html = render_to_string(template: 'reservations/print') 

は、私はまた、そのテンプレートのHTMLを返す必要があります

body_html = render_to_string('reservations/print') 
body_html = render_to_string(partial: 'reservations/print') 
body_html = render_to_string(partial: 'reservations/print.html.erb') 

を試してみました。ファイル名はprint.html.erbで、基本データがあります。すなわち、

<p> Hello world. </p> 

body_htmlを出力すると空です。

私はこの質問What is the correct way to render_to_string in wicked pdf?を参照し、pdfファイルを生成するためにWicked PDFも使用します。

多くのおかげで、私はこれが働いていた以下の手順を実行して最善の解決策だとは思わないけれども

+0

の参照、スタックオーバーフローの質問。テンプレートキーワードなしで 'reservations/print'を渡してみましたか? –

+0

'--api'フラグが問題ではないと思います。 Rails Apiの文書によると、 'AbstractController :: Rendering'がデフォルトになり、このモジュールに' render_to_string'メソッドが含まれています。 –

+0

こんにちはダン、答えに時間を割いていただきありがとうございます。私はそれをいくつか持っています。私は質問を更新します。 – Dudedolf

答えて

2

ac = ActionController::Base.new() 

html_string = ac.render_to_string :template => 'path_to_file' e.g. 'post/show' 

RailsのAPIモードでのアプリケーションのコントローラファイルはActionController :: APIから継承するので、私はレンダリングする機能はActionController ::基本であると思います。誰かがBaseから必要なモジュールを知っている場合は、この回答を更新しますか?

おかげ ルディ

関連する問題