如何在Rails中使用ActiveRecord获取一条记录而不是重复记录?

Tim*_* T. 0 ruby-on-rails models has-many-through

我有一个模型如下:

Campaign
  has_many :companies, :through => :contacts
Run Code Online (Sandbox Code Playgroud)

与同一家公司有很多联系.我只想要每个公司的一个实例.

我尝试了以下方法:

@campaign = Campaign.find(params[:id])
@companies = @campaign.companies
Run Code Online (Sandbox Code Playgroud)

但这显示了我认为的每一次接触的所有公司.至少这是输出的样子.

如何确保只添加一个公司的单个实例?

Ju *_*ira 5

使用时:through,使用该:uniq选项通常很有用,因此不会得到重复的结果

has_many :companies, :through => :contacts, :uniq => true
Run Code Online (Sandbox Code Playgroud)