Я предполагаю, что ответ @ jordoh работает для cookie-файлов по умолчанию на rails, но у меня не работает использование active_record_store для хранения моих сеансов в базе данных.
Если вы используете active_record_store и хотитеостановить сеансы, создаваемые для ботов, это работает:
# Save this file as config/initializers/session_store_ext.rb
# and don't forget to define BOT_REGEX
class ActiveRecord::SessionStore
_set_session = instance_method :set_session
define_method :set_session do | env, sid, session_data, options |
unless env['HTTP_USER_AGENT'] =~ BOT_REGEX
_set_session.bind(self).call env, sid, session_data, options
end
sid
end
private :set_session
end
Я написал сообщение в блоге, подробно описывающее это - Условное отключение сеансов базы данных в Ruby on Rails 3