如何在使用.each查找时排除属性

时间:2013-02-13 12:32:14

标签: ruby-on-rails-3.2

我尝试循环遍历这样的属性:

<% student.account.attributes.each do |value| %>
    <td><%= value %></td>
<% end %>

没关系。但是,我怎样才能排除某些属性?我使用了像''one','two','three'这样的数组,其中'one','two'和'three'是要排除的值(或者,如果这更容易 - 包括)。

修改

根据@Vysakh Sreenivasan的建议,我终于使用了这个:

<% exclude_keys = ['one', 'two', 'three'] %>
<% student.account.attributes.each do |key, value| %>
  <td><%= value unless exclude_keys.include? key %></td>
<% end %>

1 个答案:

答案 0 :(得分:1)

如果student.account.attributes是一个数组

单程

<% student.account.attributes.each do |value| %>
<td><%= value unless ["one", "two", "three"].include? value %></td>
<% end %>

另一种方式

<% exclude_values = ["one" , "two", "three"] %>
<% (student.account.attributes - exclude_values).each do |value| %>
   <td> <%= value %> </td> 
<% end %>