Rails:如果数组中存在相应的记录

时间:2013-03-08 00:09:02

标签: ruby-on-rails ruby ruby-on-rails-3

我有一个客户模型,可以为每个客户分配一个可选的永久号码 这些数字在整个客户模型中都是独一无二的。

我想创建一个列出数字的表,如果已将客户名分配给相应的数字,则创建客户名称。像这样:

假设John有#2而Jane有#4

# | Name
--------
1 | 
2 | John
3 | 
4 | Jane
5 | 

我的控制器有这个:

@customers_with_numbers = Customer.where("permanent_num IS NOT NULL")

我的观点会是这样的:

<table>
  <tr>
    <th>#</th>
    <th>Name</th>
  </tr>
  <% (1..15).each do |i| %>
  <tr>
    <td><%= i %></td>
    <td><% somehow show the appropriate name here %></td>
  </tr>
  <% end %>
</table>

我不知道应该如何展示合适的名字。

随意编辑问题标题,我不知道如何说出来。

1 个答案:

答案 0 :(得分:1)

<td><% @customers_with_numbers.detect { |c| c.permanent_num == i }.try(:name) %></td>