2012-07-17 201 views
0

我一直試圖通過關聯模型將索引中的模型分組。Rails 3 group_by關聯模型

下面是我有:

我有模型location.rb

​​

屬於Continent.rb

has_many :locations 

locations_controller.rb

def index 
    @locations = Location.find(:all) 
    end 

和在米y索引頁

<% @locations.group_by(&:continent_id).each do |continent, locations| %> 

    <li><%= continent %></li> 
    <% locations.each do |location| %>  
    <%= location.name %> 
    <% end %> 
<% end %> 

我想按大洲分組位置。上面的代碼工作,但我只需要顯示大陸的名稱,現在它只顯示ID號。

這樣做的最佳方法是什麼? 我是新手,我知道這一定很容易,但我有點卡住了。

謝謝。

+1

也許你可以嘗試只<%@ locations.group_by(:大陸)。每個辦...... – 2012-07-17 17:25:20

+0

是的,這是它,謝謝! :)) – emilsw 2012-07-17 17:36:16

+0

也@locations = Location.all更好:) – 2012-07-18 04:51:09

回答

0

首先,在我看來,你列出了大陸,而不是地點(以保持它的安寧)。所以我會改變大陸控制器。在大陸控制器:

def index 
    @continents = Continent.find(:all) 
end 

在大陸/ index.html.erb:

<% @continents.each do |continent| %> 
    <li><%= continent.name %></li> 
    <% continent.locations.each do |location| %>  
    <%= location.name %> 
    <% end %> 
<% end %> 
+0

是的,這也有道理......謝謝! – emilsw 2012-07-17 17:49:18