13

どうすればこれを達成できますか?

<% for agent in @broker.agents %>
  ...
  <% if agent.cell %><span class="cell-number">Cell: <%= agent.cell %></span><% end %>
  ...
<% end %>

エージェントにセル番号があるかどうかをテストし、ある場合は条件の内容を表示します。私が現在持っているものはうまくいかないようです。「Cell:」と表示されるだけです。

考え?

4

6 に答える 6

14

これはあなたが求めたものです:

<% for agent in @broker.agents %>
  <% unless agent.cell.blank? %>
    <span class="cell-number">Cell: <%= agent.cell %></span>
  <% end %>
<% end %>

セル?メソッドは、セルが nil であるか空の文字列であるかに関係なく機能します。Rails は、すべての ActiveRecord 属性に同様の関数を追加します。これは少し見栄えが良くなります:

<% for agent in @broker.agents %>
  <span class="cell-number">
    Cell: <%= agent.cell? ? "none given" : agent.cell %>
  </span>
<% end %>

疑問符とコロンは、簡単な "if ? then : else" ステートメントを形成します。1 つはメソッド名セルの一部であるため、上記のコードには 2 つの疑問符がありますか? もう 1 つは、if/then/else 構造の一部です。

于 2008-11-19T18:23:40.437 に答える
5
if !agent.cell.blank?

できます。

于 2008-11-19T18:11:33.720 に答える
1

エージェント.セル? agent.cell.blank と同じように動作するようですか? RoRで。

于 2008-11-20T12:33:53.853 に答える
0

Model.column == ""列のタイプが文字列の場合、列に何も含まれていないかどうかを実際に確認でき ます

于 2020-01-03T11:18:20.977 に答える
0
<% @broker.agents.each do |agent| %>
  ...
  <% unless agent.cell.empty? %>
    <span class="cell-number">Cell: <%= agent.cell %></span>
  <% end %>
  ...
<% end %>

#each 、unless、およびcell.empty?を使用すると、読みやすく、一目で理解しやすくなります。

于 2008-11-20T23:40:15.570 に答える