Ho speso troppo tempo su questo, quindi ho pensato di condividere qui per sperare di salvare qualcun altro un po 'di tempo.
L'errore precedente deriva dal metodo require()
in ActiveSupport::Dependencies::Loadable
essere eseguito al momento della chiamata
params.require(:user)...
strong_parameters
inietta ActionController::StrongParameters
in ActionController::Base
in fondo this file con
ActionController::Base.send :include, ActionController::StrongParameters
Il rails-api
gemma richiede la vostra applicazione di ApplicationController
estendere ActionController::API
in favore di ActionController::Base
I controller dell'applicazione non conoscono nulla di ActionController::StrongParameters
perché non stanno estendendo la classe ActionController::StrongParameters
è stata inclusa all'interno. Questo è il motivo per cui la chiamata al metodo require()
non sta chiamando l'implementazione in ActionController::StrongParameters
.
Per dire ActionController::API
su ActionController::StrongParameters
è semplice come aggiungere il seguente a un file in config/initializers
.
ActionController::API.send :include, ActionController::StrongParameters
io in realtà tenta di richiedere un file come codice e si aspetta che il nome del file sia una stringa, quindi l'errore. – amoebe