回答編集履歴

1 typo

hello-world

hello-world score 1265

2015/09/03 16:11  投稿

こんな風にやれがよいようです。
こんな風にやればよいようです。
[http://stackoverflow.com/questions/14350708/how-to-render-erb-template-to-string-inside-action](http://stackoverflow.com/questions/14350708/how-to-render-erb-template-to-string-inside-action)
---
こういう仕組みが欲しくなる理由はどちらかだろうなと思います。
1. フレキシブルにユーザ入力を表示させたい
2. 管理画面でHTMLテンプレートを編集したい
もし 1 が目的ならこの方法はとらないでください。
```lang-ruby
<%= user_input_template
   .gsub("{{user_name}}", @user.name)
   .gsub("{{user_address}}", @user.address)
%>
```
のようなコードを書くようにして、決して任意のプログラムを実行できる環境を提供しないでください。
仮にアプリケーションが壊れたとしても、その人に責任を追求することができるので、
2 の場合は上記の方法をとっても良いかと思います。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る