Model.Save causing nil object error

Hello all.

Newbie to rails here and I am having a bit of an issue. I have the
following models:

class Topic < ActiveRecord::Base
  validates_presence_of :name
  validates_length_of :name, :minimum => 3
  has_many :relationship_topics
  has_many :relationships, :through => :relationship_topics

class Relationship < ActiveRecord::Base
  has_many :relationship_topics
  has_many :topics, :through => :relationship_topic

class RelationshipTopic < ActiveRecord::Base
  validates_uniqueness_of :topic, :scope => :relationship

  belongs_to :relationship
  belongs_to :topic

Now, here is example code of me trying to create a new

@rel = => 1, :topic_id => 1)
=> #<RelationshipTopic id: nil, relationship_id: 1, topic_id: 1,
primary: nil, created_at: nil, updated_at: nil>
NoMethodError: You have a nil object when you didn't expect it!
The error occurred while evaluating nil.text?

Why am I unable to use the .save method when creating
RelationshipTopics? Creating relationships and topics by itself works,
but I can't get the join table to cooperate.

Hi Matthew Shapiro

      I think you are trying for uniq entry in join table(here
relationship_topics).That you can do on db level In the migration file
for this join table you can add after the creation of the table an index

add_index :relationship_topics, [:relationship_id, :topic_id], :unique
=> true

    Then migrate as usual.Now the model save can be run inside a begin
end block
and rescue ActiveRecord::StatementInvalid error..You can also remove
the line

validates_uniqueness_of :topic, :scope => :relationship
    from above