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 に答える