You could also use valid_options = { :foreign_key => ActsAsTenant.fkey }.merge(options.slice(...))

This way, foreign_key would be always set, which is not hurting and looks more consistent.