私はruby1.9.3p125とrails3.2.8を使用していて、今日gemfileにrablを追加したので、最新の状態になっているはずです。
私は、jsonをリクエスターに直接送信したいという単純な状況でRABLを使用しました。これで、rablを使用してjsonを生成し、それを口ひげでレンダリングしたいという状況になりました。
これまで、私はas_json(モデルでオーバーライド)を使用してjsonを生成していました。したがって、次のようになります。
<%= render 'scrollable', :mustache=>{photos: @page.photos.as_json} %>
_scrollable.html.mustacheに適切なテンプレートがありますが、これはまだ使用したいと思います。
このように、写真のRABLテンプレートを作成しました。
# _photo.json.rabl
object @photo do
attributes :src, :name, :height
attributes :drawing
node do |p|
{ :label => p.caption || p.name }
end
child :components do
attributes :name, :height
end
end
と
# _photos.json.rabl
collection @photos do
extend 'photos/photo'
end
これらのテンプレートを呼び出すにはどうすればよいですか?
<%= render 'scrollable', :mustache =>render(@page.photos, template: 'photos', formats: '[json]', handlers: ['rabl']) %>
で戻る
Missing partial ..../photos/photo with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee, :mustache, :rabl]}
これは、私がフォーマットが欲しいという事実を失ったように見えるという点で興味深いです:json