2010-07-03 6 views
1

En essayant d'utiliser ce jquery ui widget pour compléter automatiquement une zone de texte dans mon application. J'ai créé un fichier index.json.erb dans mon point de vue/dossier universitaireAide sur les rails json et jquery

voici ma position actuelle (morceau de merde) Code

json='[' 
<% @universities.each do |u| %> 
json+='{ "id": "#{@u.name}" , "label":"#{@u.name}" , "value": "#{@u.name}"},' 
<% end %> 
json+=']' 
json 

Inutile de dire que cela ne fonctionne pas du tout ... son émission en sortie le tout .. pas mon fichier json créé ...... Je ne peux pas trouver une alternative de constructeur pour créer JSON. (le constructeur aide à créer des fichiers XML).

aidez s'il vous plaît!

+0

Oui, je viens de un fond de php – ignaciofuentes

Répondre

0

Remplacez-le par ceci:

<%= 
'[' + (
    @universities.map do |u| 
    %Q[{ "id": "#{u.name}" , "label": "#{u.name}" , "value": "#{u.name}" }] 
    end.join(',') 
) + ']' 
%> 

Modifier: Pour envelopper l'étiquette <em>, remplacez la ligne

%Q[{ "id": "#{u.name}" , "label": "#{u.name}" , "value": "#{u.name}" }] 

avec

%Q[{ "id": "#{u.name}" , "label": "<em>#{u.name}</em>" , "value": "#{u.name}" }] 
+0

merci ...! Désolé de demander un peu plus mais vous pensez qu'il ya un moyen que je pourrais envelopper l'étiquette avec la partie qui a été entrée par l'utilisateur avec un user_input et laisser le reste sans elle? Je sais que c'est probablement un peu fou, mais juste au cas – ignaciofuentes

+0

NachoF: Désolé, je ne sais pas comment faire cela, mais voir mon edit au bas de ma réponse pour savoir comment emballer le tout. – Adrian