Ho un problema molto strano su heroku. Ho visto che assomiglia a questo:ActionView :: Template :: Errore (metodo non definito `silence 'per)
= content_for :header_title do
= t('.header_title')
- if @appointments.exists?
%table.table.table-striped.table-bordered.table-hover
%thead
%tr
%th= t('.id')
%th= t('.athena_health_id')
%th= t('.start_time')
%th= t('.duration')
%th= t('.provider')
%th= t('.created_at')
%th= t('.updated_at')
%tbody
= render @appointments
= paginate @appointments
- else
%h3.text-center= t('.appointments_not_found')
%hr/
Niente di speciale. Quando visito la pagina che utilizza questo modello su heroku, ricevo:
ActionView::Template::Error (undefined method `silence' for #<Logger:0x007f7a86267a70>):
Le specifiche stanno passando. Sul mio locale tutto funziona bene. Non so cosa sta succedendo. Stacktrace sta mostrando che il problema sta seguendo la linea:
= paginate @appointments
sto usando Rails 5.0 e kaminari (1.0.0.alpha). Qualche idea?
Edit: Nel mio production.rb ho:
if ENV['RAILS_LOG_TO_STDOUT'].present?
config.logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT))
end
config.log_formatter = ::Logger::Formatter.new
L'errore sembra incapace trovare il metodo "silence" per una classe chiamata 'Logger'. Il tuo codice ha una classe 'Logger' o è quella alla fine di Heroku? – Okomikeruko
No, la mia classe non ha una classe di logger. In production.rb ho anche: se ENV ['RAILS_LOG_TO_STDOUT']. Presente? config.logger = ActiveSupport :: TaggedLogging.new (Logger.new (STDOUT)) fine config.log_formatter = :: :: Logger Formatter.new –
Non avete visto [questo] (https: // GitHub. com/rails/rails/issues/20492) problema su github? Il metodo 'silence' della classe' :: Logger' è stato deprecato da Rails4.2 ed è stato rimosso da Rails5. – NickGnd