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_eligible引数を取るという関数がpost.team_nameあります。「反復を実行」するたびに実行し、falseが返された場合は、3つの印刷手順をすべてスキップします。

方法がわかりません

  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 に答える