Je sais qu'il me manque quelque chose de très évident. J'essaie d'itérer sur un tableau JSON dans ma vue Rails5. J'ai essayé plusieurs choses mais je n'arrive pas à obtenir les bons éléments à rendre. Le code ci-dessous rend {"name"=>"Large Plaque", "price"=>"2500"} {"name"=>"Small Plaque", "price"=>"1500"}
à mon avis.Itérer sur JSON Array dans Rails5
config/plaque_data.json
{
"products": [
{
"name": "Large Plaque",
"price": "2500"
},
{
"name": "Small Plaque",
"price": "1500"
}
]
}
contrôleurs/plaqueorders_controller.rb
...
def new
@plaqy = JSON.load File.read('config/plaque_data.json')
end
...
vues/plaqueorders/new.html.erb
...
<% @plaqy['products'].each do |k, v| { name: k, price: v } %>
<%= k %>
<% end %>
...
avez-vous essayé de voir la sortie de 'JSON.load (File.read ('config/plaque_data.json'))'? (dans votre console irb par exemple) – MrYoshiji
@MrYoshiji c'est ce qui est imprimé dans la console '=> {" products "=> [{" name "=>" Large Plaque "," price "=>" 2500 "}, { "name" => "Small Plaque", "price" => "1500"}]} ' –
Vous devriez vraiment spécifier le chemin d'accès complet à ce fichier, comme' Rails.root.join ('config/plaque_data.json') '. – tadman