0

我在 RhoMobile 中有一些显示搜索结果的代码。如果没有找到结果,我想显示一条消息,但作为 Ruby n00b,我没有收到我想要输出的消息。

<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>

如何解决这个问题?

4

1 回答 1

2

你错过了=,它应该是:

<%= "<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>

我还将您的手动编码链接替换为对link_to.

于 2012-04-17T04:37:18.573 回答