Самый простой способ go об этом, и я думаю, что мы поможем вашему делу, это:
- Полностью отключить ведение журнала из файла конфигурации / сред
- Повторно включить ведение журнала для действия создания только для допустимых событий
Чтобы отключить ведение журнала, отредактируйте нужный файл конфигурации среды. Например: config/environments/production.rb
и замените строку config.logger следующим:
config.logger = Logger.new("/dev/null")
Теперь в вашем events_controller сделайте:
class EventsController
before_action :enable_logging, only: :create
after_action :disable_logging, only: :create
private
def enable_logging
if valid_event?
Rails.logger = ActiveSupport::Logger.new(STDOUT)
end
end
def disable_logging
Rails.logger = Logger.new("/dev/null")
end
def valid_event?
Event.exists?(name: params[:event])
end
end