has_many through

Hi *,
I have an issue with a relation I'm not able to understand: I have 3 tables, a releases table, a tracks table and a release_tracks table. The release_tracks table has a release_id and a track_id.
Release and Track models have both a has_many :through => :release_tracks association (has_many :releases and has_many :tracks).
I'm just not able to make it work ...
For example

>> r = Release.new
=> #<Release:0x3732258 @attributes={"title"=>nil, "inserted_at"=>nil, "mb_id"=>nil}, @new_record=true>
>> r.tracks
ActiveRecord::HasManyThroughAssociationNotFoundError: ActiveRecord::HasManyThroughAssociationNotFoundError
         from /opt/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/reflection.rb:169:in `check_validity!'
         from /opt/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/associations/has_many_through_association.rb:6:in `initialize'
         from /opt/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/associations.rb:876:in `new'
         from /opt/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/associations.rb:876:in `tracks'
         from (irb):48

>> t = Track.new
=> #<Track:0x372f918 @attributes={"artist_id"=>nil, "title"=>nil, "inserted_at"=>nil, "mb_id"=>nil, "position"=>nil, "duration"=>nil}, @new_record=true>
>> r.tracks << t
ActiveRecord::HasManyThroughAssociationNotFoundError: ActiveRecord::HasManyThroughAssociationNotFoundError
         from /opt/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/reflection.rb:169:in `check_validity!'
         from /opt/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/associations/has_many_through_association.rb:6:in `initialize'
         from /opt/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/associations.rb:876:in `new'
         from /opt/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/associations.rb:876:in `tracks'
         from (irb):50

class Release < ActiveRecord::Base

  has_many :tracks, :through => :release_tracks

end

class Tracks < ActiveRecord::Base

  has_many :releases, :through => :release_tracks

end

class ReleaseTracks < ActiveRecord::Base

  belongs_to :release
  belongs_to :track

end

What's wrong here ? Is the ReleaseTracks model really needed ?

TIA,
   ngw
Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com

Thank you very much !
Another question, because I don't think I really got it ...
The ReleaseTrack model has an attribute, position, and I want to use it to store the position of the track inside the Release.
How can I build something like this ? Like having

t = Track.new(:position => 1, blah blah)

or even better

release << track(:position => 1)

because a release can have the same track in a different position.
Is it possible ?

TIA,
   ngw

Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com