In my project, I altered the registration form in Devise to add an :agree option via an accessor (user must accept terms of service to register, etc). If they don\'t agree, it d
So, you need to validate the acceptance of terms when the record is created?
class User < ActiveRecord::Base
validates :agree, :acceptance => true, :on => :create
end
:on => :create
will only perform that validation when the record is being created—much like Brandon's answer, but without redundant code.
This will also obviate the need for your controllers to worry about if a user is signed in or not.