Clearly express the boundaries of your AR objects for other programmers.
Just because your object has user_id
does not mean it needs to
know anything about user
at all.
Add this line to your application's Gemfile
:
gem 'not_activerecord'
And then execute:
$ bundle
Or install it yourself as:
$ gem install not_activerecord
class LessonProgressLevel < ActiveRecord::Base
extend NotActiveRecord
does_not_belong_to :student
does_not_belong_to :lesson
does_not_belong_to :training
end
class MyClass < ActiveRecord::Base
extend NotActiveRecord
does_not_belong_to :user
does_not_have_many :users
does_not_have_one :user
does_not_have_and_belong_to_many :users
end
MyClass.new.user # gives you nice and warming exception :)