Zbyt dużo czasu spędziłem na tym, więc pomyślałem, że będę się tu dzielić, aby, mam nadzieję, uratować komuś jeszcze trochę czasu.
Błąd powyżej pochodzi od sposobu require()
w ActiveSupport::Dependencies::Loadable
wykonywane podczas wywoływania
params.require(:user)...
strong_parameters
wstrzykuje ActionController::StrongParameters
do ActionController::Base
na dole this file z
ActionController::Base.send :include, ActionController::StrongParameters
rails-api
klejnot wymaga aplikacja na ApplicationController
przedłużyć ActionController::API
na rzecz ActionController::Base
Kontrolery aplikacji nie wiedzą nic o ActionController::StrongParameters
, ponieważ nie rozszerzają klasy ActionController::StrongParameters
. Dlatego wywołanie metody require()
nie wywołuje implementacji w ActionController::StrongParameters
.
Powiedzenie ActionController::API
o ActionController::StrongParameters
jest tak proste, jak dodanie do pliku w config/initializers
.
ActionController::API.send :include, ActionController::StrongParameters
Tak naprawdę próbuję wymagać pliku jako kod i oczekuje nazwy pliku jako String, stąd błąd. – amoebe