我试图在我看来为每次“旅行”显示所有“腿”。
理想情况下,它们看起来像这样:
-Trip1.name
- Leg1.name
- Leg2.name
- Leg3.name
-Trip2.name
- Leg4.name
- Leg5.name
- Leg6.name
这些模型是多对多的。我有三张桌腿,Trips和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
如何构建我的视图的任何建议都会很棒!我已经玩了好几年但似乎无法到达任何地方或在网上找到任何东西。
提前致谢!
詹姆斯
答案 0 :(得分:3)
试
<% @trips.each do |trip| %>
<ul>
<li>
<%= trip.name %>
<% trip.legs.each do |leg| %>
<li>
<%= leg.name %>
</li>
<% end %>
</li>
</ul>
<% end %>
答案 1 :(得分: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>