【发布时间】:2013-08-22 14:04:29
【问题描述】:
这是我的亲戚:
class House
has_many: appartments
end
class Appartments
belongs_to: house
end
class Region
has_many: houses
end
控制器:
@country = Country.find(params[:country_id])
@regions = @country.regions
@house = House.find(params[:id])
查看
在房屋页面上,我有一个标签,我想在其中显示属于房屋的公寓。
这是我的循环:
- @regions.each do |region|
- region.houses.each do |house|
- @house.appartments.each do |appartment|
%section
.row
.span5
%h2 #{link_to appartment.name, country_region_appartment_path(@country, region, appartment)}
%p
我创建了这个循环,因为我需要链接的区域值。它有效..我得到了属于房子的公寓......但我将记录/输出相乘。
我做错了什么?
谢谢..remco
【问题讨论】:
-
您能否更准确地说明您的问题/您的期望?
-
我想显示属于这所房子的公寓......它可以工作,但它显示的公寓是多次的
-
尝试使用
appartments = @regions.flat_map(&:houses).flat_map(&:appartments).uniq,然后使用.each进行循环 -
嘿 Remco,如果这是或可能会是协作努力 - 你永远不应该拼错像模型这样大的东西。您的
Appartment模型实际上应该是Apartment。不过你的选择。
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2