2012-07-05 19 views
2

我試圖在我的視圖中爲我的每次'行程'顯示所有'腿'。Rails 3:如何在視圖中顯示多對多連接?

理想的情況下,他們應該是這樣的:

-Trip1.name 
    - Leg1.name 
    - Leg2.name 
    - Leg3.name 
-Trip2.name 
    - Leg4.name 
    - Leg5.name 
    - Leg6.name 

型號有許多一對多。我有三張桌腿,旅行和Legs_trips。該模型是這樣的:

Trip.rb

class Trip < ActiveRecord::Base 
has_and_belongs_to_many :legs 
accepts_nested_attributes_for :legs, :reject_if => :all_blank 
end 

Leg.rb

class Leg < ActiveRecord::Base 
has_and_belongs_to_many :trips 
validates_uniqueness_of :name 
accepts_nested_attributes_for :trips 
end 

沒有什麼,但這個控制器的時刻:

def index 
@trips = Trip.all 
@legs = Leg.all 

respond_to do |format| 
    format.html # index.html.erb 
    format.json { render json: @trips } 
end 
end 

任何如何構建我的觀點的建議將非常棒!我已經修好了很多年,但似乎無法在任何地方找到任何東西或在網上找到任何東西。

在此先感謝!

詹姆斯

回答

3

嘗試

<% @trips.each do |trip| %> 
    <ul> 
    <li> 
     <%= trip.name %> 
     <% trip.legs.each do |leg| %> 
      <li> 
       <%= leg.name %> 
      </li> 
     <% end %> 
    </li> 
    </ul> 
<% end %>  
+0

完美!我知道這將是非常簡單的事情,但我仍然在這些事情上花費很多時間!哈哈。謝謝! – 2012-07-05 11:46:59

2

在您查看應用它們是這樣的:

<ul> 
<% @trips.each do |trip| %> 
    <li> 
    <%= tri.name %> 

    <ul> 
    <% @trips.legs.each do |leg_in_trip| %> 
    <li> 
    <%= leg_in_trip.name %> 
    </li> 
    <% end %> 
    </ul> 
    </li> 
<% end %> 
</ul> 
相關問題