我试图修改管理平台安装的UI(管理平台0.7.3.devel.2093(MySQL的))。

当您查看管理平台的一个项目,它生成所有子项目的项目清单。

例如,应用/视图/项目/ index.rhtml里调用的的link_to 功能:

<% 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 %>

哪些输出以下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>

我们发现,以逗号分隔的子项目的清单是非常困难的进行分析。我们希望有自己的行每个子项目上市。 (任何标记是细 - UL,每条链路上OL,或P标签将是理想的,但BR而不是逗号将完全细)

什么是使这一变革的最好方法是什么?我不能找到其中的 link_to 在该应用中被定义; grepping对于 def link_to( 并类似变成了什么。我是一个UI的类型,所以我真的不明白怎么用这个东西Rails的交易 - 它似乎并没有在视图模板中定义。

有帮助吗?

解决方案

您可以在您所提供的代码直接做到这一点。只要改变

join(', ')

join('<br />')

这应该这样做。

其他提示

<强>的link_to 由Rails框架提供 - 它不生成所述链接为一个列表 - 它只是简单地创建一个单个链路。的问题是,sort.collect和块生成到的link_to调用

这应该工作,把子项目到列表项

<% @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 %> 

我想指出的是,管理平台干线的最新版本改项目上市使用HTML列表(UL和LI)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top