has_many :through association not working properly

ISSUE: The host has 3 ip addresses on two networks (#62 is repeated) How do I get host.networks to return only the two networks?

host

=> #<NetworkHost id: 923, name: "ota-app1", os_id: 1, feature_id: nil, description: nil, created_at: "2010-05-18 19:05:49", updated_at: "2010-05-18 19:05:49", ip_id: nil, server_id: 5, service_tag: nil, location_id: nil, rack: nil, space: nil, net_profile_id: 77>

host.ip_addresses.size

=> 3

host.networks

=> [#<Network id: 62, name: "SCTCarrier990 Production Network", ip: "192.168.110.0", ...l>,     #<Network id: 62, name: "SCTCarrier990 Production Network", ip: "192.168.110.0", ...>,   #<Network id: 63, name: "SCTCarrier990 IP Profile Network3", ip: "10.10.110.0", ...>]

host.networks.size

=> 3

## networks model class Network < ActiveRecord::Base   has_many :ip_addresses, :dependent => :destroy   has_many :network_hosts, :through => :ip_addresses

## network_hosts model class NetworkHost < ActiveRecord::Base

  has_many :ip_addresses, :dependent => :destroy   has_many :networks, :through => :ip_addresses

## ip_addresses model class IpAddress < ActiveRecord::Base

attr_accessible :name, :ip, :logical_interface_name_id, :network_host_id, :network_id, :is_entry_point, :is_gateway, :mac

  belongs_to :network_host   belongs_to :network

Wouldn't

  has_many :networks, :through => :ip_addresses, :uniq => true

do it?

Yes! that's it! thanks!