我怎样才能做到这一点?
<% for agent in @broker.agents %>
...
<% if agent.cell %><span class="cell-number">Cell: <%= agent.cell %></span><% end %>
...
<% end %>
我想测试代理是否有手机号码,如果有,显示条件中的内容。我目前拥有的似乎不起作用;它只显示“单元格:”。
想法?
最佳答案
这是你要求的:
<% for agent in @broker.agents %>
<% unless agent.cell.blank? %>
<span class="cell-number">Cell: <%= agent.cell %></span>
<% end %>
<% end %>
细胞?无论 cell 是 nil 还是空字符串,方法都有效。 Rails 为所有 ActiveRecord 属性添加了类似的功能。这看起来会好一点:
<% for agent in @broker.agents %>
<span class="cell-number">
Cell: <%= agent.cell? ? "none given" : agent.cell %>
</span>
<% end %>
问号和冒号构成了一个快速的“if ? then : else”语句。上面代码中有两个问号是因为一个是方法名单元格的一部分?另一个是 if/then/else 构造的一部分。
关于ruby-on-rails - rails : How do I check if a column has a value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/302782/