0

我的索引文件中有以下 HTML。

<% @posts.each_with_index do |post, index| %>
  <tr>
    <td><%= index+1 %></td>
    <td><%= post.team_elo %></td>
    <td><%= post.team_name %></td>
  </tr>
<% end %>

我有一个函数调用is_eligiblepost.team_name作为参数。我想在每次“进行迭代”时运行它,如果它返回 false,则跳过所有三个打印步骤

我不确定如何

  1. 包括文件 is_eligible 位于和
  2. 在某处的html中构造代码。

有任何想法吗?

4

2 回答 2

4
# The view
<% @posts.each_with_index do |post, index| %>
  <% unless post.is_eligible? %>
    <tr>
      <td><%= index+1 %></td>
      <td><%= post.team_elo %></td>
      <td><%= post.team_name %></td>
    </tr>
  <% end %>
<% end %>

# The model post.rb
def is_eligible?
  # and there you use self.name to access the name
end
于 2012-12-23T10:24:59.213 回答
1
<% @posts.select{|p| is_eligible(p. team_name)}.each_with_index do |post, index| %>
  <tr>
    <td><%= index+1 %></td>
    <td><%= post.team_elo %></td>
    <td><%= post.team_name %></td>
  </tr>
<% end %>
于 2012-12-23T10:24:17.317 回答