2016-10-31 38 views
1

我有一個搜索控制器是這樣的:如何獲得型號名稱進行排列

def index 
    @foos = Foo.search 
    @bars = Bar.search 
    @search = [@foos, @bars] 
end 

而且在我的搜索索引:

<% @search.each do |s| %> 
    <% s.each do |s| %> 
    <% s.name %> 
    <% end %> 
<% end %> 

我如何寫一個if語句找到陣列只有從Foo模型?

<% if s.modelname == "Foo" %> ? 

設置<%= s.each do %>顯示數組確實有它的型號名稱。

回答

8

試試這個:

<% @search.each do |s| %> 
    <% if s[0].class.to_s == "Foo" %> 
     <% s.each do |s| %> 
     <% s.name %> 
    <% end %> 
<% end %> 
+0

由於我們在進入子循環之前檢查條件,所以它會減少循環迭代。 – anil

5

試試這個:

​​
+1

爲什麼'to_s'的東西時,你可以說's.class == Foo'或更好的's.is_a?而不是? –