2010-05-20 3 views
1

J'ai le code haml suivant:Comment puis-je transformer ce fichier haml en une table?

- @theLinks.each_index do |x| 
    %br 
    %form{:action=>'/Download', :method=>"post",:enctype=>"multipart/form-data"} 
    %input{:type=>"submit", :name=>"#{@theLinks[x].url}", :value=>"Name: #{@theLinks[x].Name} Study Time: #{@theLinks[x].studyTime} Comments: #{@theLinks[x].comments}"} 

En fait, pour chaque personne, la liste au moment où ils ont participé à une étude et les commentaires sur l'étude. En ce moment, cela se traduit par un ensemble de boutons. Je voudrais le rendre sous forme de tableau, avec chaque ligne cliquable de la même manière (c'est-à-dire en utilisant la méthode 'post', de sorte que seul le fichier haml doit être édité sans toucher au reste des fichiers).

Idéalement, j'aimerais aussi pouvoir trier la table par nom, heure ou commentaires, mais cela pourrait me devancer.

Alors, comment puis-je changer cette liste de boutons dans un tableau avec des lignes cliquables?

Répondre

1

Bon, qu'en est-il de ce code? Cela fait une table avec trois colonnes, une pour le nom (boutons cliquables comme ce que vous avez fait), une pour le temps passé, et une pour les commentaires. L'heure et les commentaires sont simplement du texte, donc seul le nom est cliquable. À l'avenir, si vous voulez ajouter un tri, il suffit de convertir les en-têtes de table en liens qui contiennent des fonctions ajax pour le tri. Je pense que jQuery a une fonction/plug-in pour les tables de tri de sorte que vous pouvez juste regarder dans leur doc (si vous utilisez jquery)

%table 
    %tr 
    %th Name 
    %th Time spent 
    %th Comments 
    - @theLinks.each do |link| 
    %tr 
     %td 
     %form{:action=>'/Download', :method=>"post",:enctype=>"multipart/form-data"} 
      %input{:type=>"submit", :name=>"#{link.url}", :value=>"Name: #{link.Name}}" 
     %td= "Study Time: #{link.studyTime}" 
     %td= "Comments: #{link.comments}" 
+0

Je ne veux pas d'une table avec une colonne, je veux avec trois. L'utilisation de la forme/bouton est maintenant un hack car je ne peux pas directement lier aux fichiers à télécharger, mais au lieu d'interpréter le bouton cliquez pour acquérir les données d'un autre serveur qui ne peut pas être vu de l'extérieur monde (c'est-à-dire que la liaison directe est inutile, puisque cet autre serveur est interne et n'a pas d'adresse IP externe). Je préférerais aussi que seul le nom soit le lien de téléchargement, ou un gros bouton évident qui dit «télécharger». Et puis-je trier la liste si j'utilise li comme ça? – mmr

+1

hey là, a changé ma réponse pour refléter les clarifications que vous avez faites. Est-ce ce que vous essayez de faire? – corroded

Questions connexes