jsonをhtmlに埋め込む必要があり、#322RailsCastsでRABLを使用してそれを行う方法を説明しています...
app/views/places/show.html.erb
<div id="place" data-place="<%= render(template: "places/show.json.rabl") %>" >
これが私のrablテンプレートです
app/views/places/show.json.rabl
object @place
attributes :id, :name, :desc, :address
node(:type) { |place| place.type_place.name }
child :photos do
attributes :id, :desc
node(:url) { |photo| photo.image.url(:square) }
end
正常に動作していますが、次のような他のビューでrabl-templateをレンダリングしたいと思います。
app/views/places/finder.html.erb
<%= @places.each do |place| %>
<div id="place-<%= place.id %>" data-place="<%= render(template: "places/show.json.rabl") %>" >
<% end %>
次のメッセージエラーが表示されます
nil:NilClassの未定義のメソッド `type_place'
Extracted source (around line #1):
1: object @place
2: attributes :id, :name, :desc, :address
3:
4: node(:type) { |place| place.type_place.name }
メッセージから、エラーはオブジェクトの場所をテンプレートに渡していないことだと思います...私は多くのことを試みましたが、これを取得できませんでした。
よろしくお願いします。英語でごめんなさい