前提・実現したいこと
下記のjsonをruby上で読み込んで、id1~5の要素をerbでeachさせようとしています。
該当のソースコード
json
1// tmp/articles.json 2{ 3 "article": [ 4 {"id": 1, "name": "article1"}, 5 {"id": 2, "name": "article2"}, 6 {"id": 3, "name": "article3"}, 7 {"id": 4, "name": "article4"}, 8 {"id": 5, "name": "article5"} 9 ] 10}
Ruby
1 def index 2 File.open("/tmp/articles.json") do |j| 3 @articles = JSON.load(j) 4 end
erb一部
erb
1 <% @articles.each do |article| %> 2 <tr> 3 <td"> 4 <% article.name %> 5 </td>
しかし、以下になります。
ActionView::Template::Error (undefined method `name ' for ["articles", [{"id"=>1, "name"=>"article1"}, {"id"=>2, "name"=>"articl2"}
以下を行うにはどうすればよいでしょうか?
・1~5の要素を取得する
・erbでeachする
・nameなどを表示する
回答2件
あなたの回答
tips
プレビュー