契約言語の現在の状態に基づいて動的に生成されるオンライン契約契約を行っています(ERBパーシャルに保存されています)。
ユーザーが[同意する]をクリックすると、変数データが保存されますが、レンダリングされた部分(htmlフラグメント)の内容もデータベースに保存したいと思います。
使用してみActionView::Helpers::CaptureHelper.capture
ました-部分全体をブロックでラップし、最後にレンダリングします。
<% @saved_output = capture do %>
...
The rest of the erb with instance variable <%= @my_class.name %> and so on
...
<% end %>
<%= @saved_output %>
<% logger.debug "Rendered output is: #{@saved_output}" %>
そして、これは同じ結果を生成し、ログに正しいテキストを送信しました。@saved_output = nil
しかし、それは範囲外になっているように見えます-レンダリングする前に宣言したとしても、それnil
はブロックを終了するときです。
私も使っcontent_for
てみました...それは私にはある程度意味がありますが...ええと、それが得られませんでした。役立つポインタをいただければ幸いです。