0

我正在尝试为索引列表中的每个客户设置一个按钮,该按钮会将您带到该客户的位置。

这是我的代码:

  <% Client.active.find_each do |client| %>
<tr>
<td><strong><%= link_to client.client_name, client_path(client) %></strong></td>
<td><%= client.locname %></td>
<td><%= client.phone1 %></td>
<td><%= client.fax %></td>
<td><%= client.worequests.notcompl.count %></td>
<td><%= client.workorders.count %></td>
<td><%= client.contacts.count %></td>
  <% location = Location.where('locname' == client.locname).first.id %>
  <td><%= link_to 'Tree', location_url(location), :class => 'btn btn-mini btn-primary' %></td>
  <% if current_user.has_role? :admin or current_user.has_role? :super %>
    <td><%= link_to 'Edit', edit_client_path(client), :class => 'btn btn-mini btn-success' %></td>
  <% else %>
    <td></td>
  <% end %>
 </tr>
<% end %>

但是,链接始终指向 location/13 - 它来自第一个 location.where 查找。

为什么每个客户的树按钮不指向他们的位置?

谢谢你的帮助!

4

2 回答 2

0

无论如何,您的 where 子句都评估为 true。我想你想要:

Location.where('locname=?', client.locname).first.id
于 2013-05-03T14:58:26.410 回答
0

我认为这是你的问题:

Location.where('locname' == client.locname)

应该

Location.where(:locname => client.locname)
于 2013-05-03T14:58:34.200 回答