2012-07-05 3 views
2

내 '여행'에 대한 모든 '다리'를 표시하려고합니다. 그들과 같을 것이다레일 3 :보기에서 다 대다 조인을 표시하는 방법?

이상적으로는 :

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

모델은 다 대다입니다. 나는 3 개의 테이블 다리, 여행 및 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

완벽한 시도! 나는 그것이 정말로 단순한 무엇인가 알았다. 그러나 나는이 물건에 나이를 아직도 쓴다! 하하. 감사! –

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>