みかづきメモ

学習したことのメモとか、日記とか、備忘録。

Rails で、 JSON 中に HTML を含める

学校でもバイト先でも Rails を使っているせいで、 C# をする時間がない。
けども Rails 記事を書いていくよ。

Rails にて、hoge.json の時のレスポンスに、 HTML を含めてみます。


通常の JBuilder を使った JSON は、こんな感じ。

json.set! :hatena, "blog"

ここに、 app/views にあるビューを、 HTML で配置したい。
通常通りにやってみると。

json.set! :hatena, render(partial: "blogs/blog", locals: {blog: @blog})

ActionView::Template::Error が出てしまい、 formats を見ると、
JSON (*.json.jbulder とか) を探していることがわかります。

今回は、 HTML (*.html.erb や haml) がほしいので、このようにします。

json.set! :hatena, render(partial: "blogs/blog", formats: [:html], locals: {blog: @blog})

こうすることで、 JSON レスポンス中に HTML を含めることが可能です。