私は自分のサイトにユーザーデータのテーブルを表示しようとしています-そのため、ユーザーを反復処理してユーザーの情報を表示するループを使用しています。以前は非常に単純でしたが、都市、州、またはいずれかが入力されていない可能性がある場合を処理する条件を追加したいと思いました。1つのケースしか入力していない場合は、正常に機能します。私が両方を持っているとき、それはうまくいきます。ユーザーの場所は、モデルで都市と州のJOINとして定義されます。だから心配しないでください。しかし、どちらも持っていない場合は、必要な「---」が表示されません。ここで何が欠けていますか?
<tr>
<% @user.each do |user| %>
<td><%= link_to user.username, public_profile_path(user.username) %><br/></td>
<% if user.state != nil and user.city != nil %>
<td><%= user.location %></td>
<% elsif user.state != nil and user.city == nil %>
<td><%= user.state %></td>
<% elsif user.state == nil and user.city != nil %>
<td><%= user.city %></td>
<% else %>
<td>---</td>
<% end %>
<% if user.phone != nil %>
<td><%= user.phone %></td>
<% else %>
<td>-</td>
<% end %>
<td><%= mail_to user.email.to_s, "Email this User", :cc => "michaelomchenry@gmail.com",
:subject => "Contact from Overflow Member" %></td>
</tr>
<% end %>