fly*_*llo 2 ruby-on-rails ruby-on-rails-3
在我看来,我正在测试是否存在某些记录.如果他们这样做,我会迭代它们并显示每一个.但是,如果这些记录不存在,我想要显示一条消息.这是我的观点中的代码:
<% if current_user.lineups %>
<% for lineup in current_user.lineups do %>
<li><%= link_to "#{lineup.course.cl} #{lineup.course.cn}", index_path %></li>
<% end %>
<% else %>
<li><%= link_to "You have no courses", index_path %></li>
<% end %>
Run Code Online (Sandbox Code Playgroud)
现在,当记录存在时,迭代工作正常.每当我创建正确的记录时,此代码都会非常有效,并为每个迭代的记录创建一个链接.但是,如果不存在任何记录,则不显示任何内容.'else'语句完全被忽略.我试图修改'如果'的标签,但无济于事.我试过了:
<% unless current_user.lineups.nil? %>
Run Code Online (Sandbox Code Playgroud)
以及:
<% if !( current_user.lineups.nil? ) %>
Run Code Online (Sandbox Code Playgroud)
我在这里结束了我的智慧.任何和所有输入将不胜感激.
空数组不是零,尝试使用any?或empty?
<% if current_user.lineups.any? %>
...
<% else %>
<li><%= link_to "You have no courses", index_path %></li>
<% end %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |