Frage

Ich versuche, die Benutzeroberfläche einer Redmine Installation (Redmine 0.7.3.devel.2093 (MySQL)) zu ändern.

Wenn Sie ein Projekt in Redmine zu sehen, erzeugt er eine Liste aller Teilprojekte für das Projekt.

Zum Beispiel app / views / projects / index.rhtml ruft die link_to Funktion:

<% if @project_tree[project].any? %>
    <p><%= l(:label_subproject_plural) %>:
    <%= @project_tree[project].sort.collect {|subproject| 
       link_to(h(subproject.name), {:action => 'show', :id => subproject}, :class => (User.current.member_of?(subproject) ? "subp fav" : "subp"))}.join(', ') %></p>
<% end %>

Welche gibt das folgende HTML:

<p>Subprojects:
<a href="/projects/show/foo" class="subp fav">Foo Subproject</a>, <a href="/projects/show/bar" class="subp">Bar Subproject</a>, <a href="/projects/show/baz" class="subp fav">Baz Subproject</a></p>

Wir finden, dass eine durch Kommata getrennte Liste von Teilprojekten sehr schwierig ist, visuell zu analysieren. Wir möchten, dass jedes Teilprojekt in einer eigenen Zeile aufgelistet haben. (Alle Markup ist in Ordnung -. UL, OL oder P-Tags auf jeder Verbindung wäre ideal, aber ein BR statt Komma wäre völlig in Ordnung)

Was ist der beste Weg, um diese Änderung zu machen? Ich kann nicht finden, wo link_to ist in der App definiert; greppen für def link_to( und ähnliche verwandelt sich nichts auf. Ich bin ein UI-Typ, so verstehe ich nicht wirklich, wie beschäftigt sich mit diesem Zeug Rails - es ist nicht in den View-Templates definiert zu sein scheint.

War es hilfreich?

Lösung

Sie können es direkt in dem Code, den Sie zur Verfügung gestellt. Ändern Sie einfach

join(', ')

join('<br />')

Das sollte es tun.

Andere Tipps

link_to wird durch den Rails-Framework zur Verfügung gestellt - es ist die Links als Liste nicht zu erzeugen - es wird lediglich eine einzige Verbindung. Das Problem ist die sort.collect und der Block, die Anrufe zu link_to Erzeugung

Das sollte funktionieren, die Teilprojekte in Listenelemente setzen

<% @project_tree[project].sort.collect do |subproject| %>
  <li>        
    <%= link_to(h(subproject.name), {:action => 'show', :id => subproject}, :class => (User.current.member_of?(subproject) ? "subp fav" : "subp")) %>
  </li>
<% end %> 

ich, dass die neueste Version von Redmine Stamm darauf hin, wollte das Projekt geändert Listing HTML-Listen zu verwenden (ul und li).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top