validates_belongs_to Build Status

This is a simple validator which validates an association belongs to the same owner.

Usage

Add to your Gemfile:

gem 'validates_belongs_to'

Add the validator to your model:

class Car < ActiveRecord::Base
  validates :warehouse, :belongs_to => :user
  # or you can use validates_belongs_to :warehouse, :user
end

Example code

class User < ActiveRecord::Base
  has_many :warehouses
  has_many :cars
end

class Warehouse < ActiveRecord::Base
  has_many :cars
  belongs_to :user
end

class Car < ActiveRecord::Base
  belongs_to :user
  belongs_to :warehouse
  validates :warehouse, :belongs_to => :user
end

user = User.create
warehouse = user.warehouses.create

user_2 = User.create
warehouse_2 = user_2.warehouses.create

car = warehouse.cars.create # Works fine

car.warehouse = warehouse_2
car.save! # Validation failed: Warehouse does not belong to user