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
end

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

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

  belongs_to :relationship
  belongs_to :topic
end

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

@rel = RelationshipTopic.new(:relationship_id => 1, :topic_id => 1)
=> #<RelationshipTopic id: nil, relationship_id: 1, topic_id: 1,
primary: nil, created_at: nil, updated_at: nil>

@rel.save

@rel.save
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
like

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

Sijo