Select_tag from JSON


#1

Bonjour a tous,

Tout d’abord, je tiens à vous préciser que je suis vraiment débutant en
Ruby & Rails, et que je devrait passer une formation très bientot pour
avoir un peu plus les bases.
Néanmoins, je commence déjà a me pencher sur le sujet, et je ne commence
pas par le plus simple je pense…
Je vous explique mon probleme. j’ai créé un controller que j’ai appeler
mytest.
Dans la partie controler, je me connecter à un WebService comme ceci :

[CODE]require ‘json’

class MytestController < ApplicationController
def index
uri = URI.parse(“https://mywebsite/api/organizations”)
Net::HTTP.start(uri.host, uri.port,
:use_ssl => uri.scheme == ‘https’,
:verify_mode => OpenSSL::SSL::VERIFY_NONE) do |http|

  request = Net::HTTP::Get.new uri.request_uri
  request.basic_auth 'myuser', 'myaccount'
  request.add_field('Accept','application/vnd.monsoon.v1+json')
request.add_field('Content-Type','application/json')
response = http.request request # Net::HTTPResponse object
  @message = JSON.parse(response.body)

end
end
end
[/CODE]

Si dans ma view j’affiche @message, je recois le JSON suivant :

[{"uri"=>"/organizations/MyUser", "id"=>176, "name"=>"MyUser", "description"=>"Emmanuel's Sandbox", "is_sandbox"=>true, "cost_object"=>"1111111111"}, {"uri"=>"/organizations/demo_rv", "id"=>304, "name"=>"demo_rv", "description"=>"by RV", "is_sandbox"=>false, "cost_object"=>"1111111111"}, {"uri"=>"/organizations/test_ui", "id"=>3501, "name"=>"test_ui", "description"=>"", "is_sandbox"=>false, "cost_object"=>"123313123"}, {"uri"=>"/organizations/test_ui2", "id"=>3502, "name"=>"test_ui2", "description"=>"", "is_sandbox"=>false, "cost_object"=>"132132132"}]

Mon but est maintenant de créer un liste déroulante (select_tag) qui
afficherais la propriété “name” et aurait comme valeur “id” par exemple.

Mais je seche complement. Je suppose qu’il doit falloir utiliser
options_from_collection_for_select mais … avec quels paramètres, la
est la question.

Merci d’avance de votre aide.

Cordialement

DeWaRs