私は#322 RailsCastsをフォローしていますが、最後の部分で彼はjsonをhtmlに埋め込む方法についてコメントしています。
<div id="articles" data-articles="<%= render(template: "articles/index.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
/places/21.jsonをレンダリングすると、次のように表示されます。
{"id":21,"name":"foo","desc":"bar","address":"some address","type":"baz",
"photos":[{"id":26,"desc":"foofoo","url":"/uploads/photo/image/26/square_conmemorativo-1920x1080.jpg"}]}
うまく機能していますが、jsonデータをhtmlに埋め込もうとすると、次のようになります。
<article id="show_place" data-place="<%= render(template: "places/#{@place.id}.json.rabl") %>" >
エラーログ
{:locale => [:en]、:formats => [:html]、:handlers => [:erb、:builder、:coffee、:rabl]}のテンプレートplaces/21.jsonがありません。検索対象:* "/ home / ed / projects / rails_projects / final_u / app / views"
私は何を間違っていますか?
アップデート
私はちょうど解決策を見つけました
<article id="show_place" data-place="<%= render(template: "places/show.json.rabl") %>" >
そしてそれは動作しますが、理由はわかりません..そしてここに別の質問があります
単一のオブジェクトをrender(template: "")に渡す方法がありますか?
よろしくお願いします....そして私の英語をごめんなさい