Checking if an association already exists between two records

Hey,

I'm creating an app which has two models - bands and users. A relationship between users and bands in many to many.

However, when I'm adding an existing to user to a band (ie. updating the bands_users table) how can i check if the relationship between the user and the band already exists? For example, if a user with ID of 3 was already a member of a band with ID 5, and then somebody tried to make this connection again - I want to output an error message. Is there some special validation I can place in a bands_users.rb that validated the uniqueness of the entire record?

Thanks,   -ger

You can use the scopt attribute of validates_uniqueness_of But this would require, that the intermediate table between users/bands has it's own model

in this model (BandsUsers) validates_uniqueness_of :user_id, :scope => band_id

There is a :uniq option that will ignore duplicates:

  class Band < ActiveRecord::Base     has_and_belongs_to_many :users, :uniq => true   end

This won't raise an error, but it will prevent duplicate associations. Hope that Helps

Brandon

I guess you have your reasons but why not ignore the fact that the relationship already existed? Does it really matter to let the user know?

Pepe