2016-11-15 39 views
0

所以我有這個表的錶行表的頂部:軌促進if語句

<% @extra_dates.each do |ed| %> 
    <tr> 
    <td><%= ed.date %></td> 
    <td><%= ed.eventvenuename %></td> 
    <td><%= link_to "Buy Now", "/events/" + ed.permalink, class: "btn btn-info" %></td> 
    <% if ed.weburl1 || ed.weburl2 %> 
     <td> 
     <label class="annlabel" id="label">Cheapest</label> 
     </td> 
    <% end %> 
    </tr> 
<% end %> 

現在,如果最廉價的標籤顯示我想這是對錶的最上面一行。

+0

你可以給你的問題更清楚的解釋嗎?順便說一下,表標題 – abhi110892

+1

你必須從你的控制器然後排序數據。你能告訴我們什麼是@ @ extra_dates嗎? – Vucko

+0

@extra_dates = Event.where(eventname:@ event.eventname) –

回答

0

你應該在控制器中進行排序您的收藏:

@extra_dates = Event.where(eventname: @event.eventname).order("(COALESCE(weburl1, false) OR COALESCE(weburl2, false)) DESC") 

這是假設你使用PostgreSQL。

@extra_dates = Event.where(eventname: @event.eventname).sort_by {|e| (e.weburl1 ? 0 : 1) || (e.weburl2 ? 0 : 1)} 

有想法的是,第二種方法可能是大集合慢了許多。