Ruby on rails 如何显示移动阵列是否为空
我在RhoMobile中有一段代码显示搜索结果。如果没有找到结果,我想显示一条消息,但是作为Ruby n00b,我没有得到我想要输出的消息Ruby on rails 如何显示移动阵列是否为空,ruby-on-rails,rhomobile,Ruby On Rails,Rhomobile,我在RhoMobile中有一段代码显示搜索结果。如果没有找到结果,我想显示一条消息,但是作为Ruby n00b,我没有得到我想要输出的消息 <ul data-role="listview"> <% @employees.each do |employee| %> <li> <a href="<%= url_for :action => :show, :id => employee.object %>
<ul data-role="listview">
<% @employees.each do |employee| %>
<li>
<a href="<%= url_for :action => :show, :id => employee.object %>">
<%= employee.name %>
</a>
</li>
<% end %>
<% "<li>No results found</li>" if @employees.empty? %>
</ul>
-
如何修复此问题?您缺少
=
,应该是:
<%= "<li>No results found</li>" if @employees.empty? %>
虽然这也可能不起作用,因为字符串没有标记为HTML安全的。也就是说,最好将所有内容包装在一个条件中,以使其更加清晰,并避免将HTML包含在字符串中:
<ul data-role="listview">
<% if @employees.any? %>
<% @employees.each do |employee| %>
<li>
<%= link_to employee.name, {:action => :show, :id => employee.object} %>
</li>
<% end %>
<% else %>
<li>No results found</li>
<% end %>
</ul>
-
:show,:id=>employee.object}%>
- 未找到任何结果
我还将您的手动编码链接替换为呼叫。您的输出是什么?请直接检查HTML源代码。如果没有结果,我不会将“未找到结果”作为列表项。只需
- 。此代码与链接一起工作,您的链接在移动设备上没有任何位置:show,:id=>employee.object}%>@Martlark您将问题标记为Rails,并且
link\u to
将在Rails中工作。我真的很了解Rhombile,但是如果它下面没有使用Rails,那么你应该重新标记你的问题。它确实使用RubyonRails。在您的代码中修改链接_to(如我的注释中所做的)可以让它工作。我的方式应该可以工作,即使在Rails 2.3中(或者更早),除非您出于某种原因不使用RESTful路由。