Search code examples
ruby-on-railsvalidates-uniqueness-of

Validating unique project names in Ruby on Rails for a single user


In my model class Project, I wish to create projects with a name. I validate the name like this:

  validates :name, :uniqueness => true

I would like the name for the projects to be unique, only in the scope of a User. Meaning, a user cannot have multiple projects with the same name, but the projects table may contain multiple projects with the same name, owned by different users.


Solution

  • see uniqueness with scope

    validates :name, :presence => true, :uniqueness => {:scope => :user_id}