0

在我的 Rails 应用程序中,我将有以下关系:

类位置 < ActiveRecord::Base; 结尾

类公园<位置; 端类露营地<位置;结束类 Trails < Location; 结尾

我的目标是能够将所有特定类型的位置链接在一起。例如,如果我选择一个公园,我希望能够看到与该公园相关的所有露营地和小径。同样,如果我要选择一个 Trail 或 Campground,我希望能够找到与 Trail 或 Campground 相关的其他类型的位置。

任何想法我可以如何实现这一目标?

感谢您的关注

4

1 回答 1

1

根据您希望它们如何关联,您可能需要一个单独的关系/表来存储该信息。例如,您可以执行以下操作:

class Location < ActiveRecord::Base
  has_and_belongs_to_many :location_groups
end

class Park < Location; end class Campground < Location; end class Trails < Location; end

class LocationGroup < ActiveRecord::Base
  has_and_belongs_to_many :locations
end

然后在同一位置组(可能属于多个位置组)中查找其他“位置”:

@park = Park.first
@group = @park.location_groups.first
@group.locations # All locations in that group

希望对你有所帮助!

于 2012-05-18T17:02:42.610 回答