1

这更像是一个通用的设计问题,但它将在 RoR 中实现,我对此非常陌生。另外,我认为这是我的第一个问题,所以请温柔:)

场景是:

我有一个资产模型。每个资产都位于一个特定的房间中,因此我还希望与 Location 模型建立一对多的关系。很简单。但是,某些房间(位置)也使用别名(例如 123 是又名图书馆)。当用户想要更新有关特定资产的信息时,我希望他们能够只搜索而不用担心他们是否知道确切的房间号,并显示该房间中的资产列表。

澄清一下,可能有不止一个别名。

所以问题是:

您会推荐一个 Location 将具有一对多关系的 Alias 模型吗?或者,自引用(某种分层)关联会更好吗?或者别的什么可能?根据我的设想,前者需要查询不同表上的列以获取相同类型的信息,而后者似乎不正确(别名与位置不同)。

4

1 回答 1

2

这可能是使用标记插件作为可标记的好地方:

https://github.com/mbleigh/acts-as-taggable-on

在您的模型中,您可以执行以下操作:

class Location < ActiveRecord::Base   
  acts_as_taggable_on :aliases 
end

然后在您的控制器中执行以下操作:

Location.tagged_with("library", :on => :aliases)
于 2011-07-07T20:48:15.577 回答