ich einen factor
Controller haben die Faktorwerte für zwei verschiedene Arten von FaktorenRails überprüfen, ob params in der Steuerung existieren
- Primary Factor
- zweitrangiger Faktor
Und ich geben sie nimmt als Parameter wie folgt:
class FactorController < AdminController
def create
if primary_factor_params ## LINE 5
do something
elsif secondary_factor_params
do something else
end
end
def primary_factor_params
params.require(:primary).permit(:user_id, ## LINE 70
:primary_factors)
end
def secondary_factor_params
params.require(:secondary).permit(:user_id,
:secondary_factors)
end
end
Aber in dem oben genannten, wenn ich versuche, zu bestehen ein secondary_factor
bekomme ich folgende Fehlermeldung:
ActionController::ParameterMissing (param is missing or the value is empty: primary):
app/controllers/factors_controller.rb:70:in `primary_factor_params' app/controllers/api/v1/admin/factors_controller.rb:5:in `create'
mir So scheint es, dass dieser Fehler kommen wird, weil ich keine Werte für primary_factor_params
in diesem Zustand hatte und das ist so, wie es den Fehler wirft wegen der ersten wenn Bedingung.
Ich habe versucht:
primary_factor_params.exists?
primary_factor_params.has_key?(:primary_factors)
....
Aber sie alle den gleichen Fehler werfen, da primary_factor_params
existiert nicht. Gibt es eine Möglichkeit, dies zu testen, ohne einen Fehler für fehlende Params zu liefern?
Ja, macht dies durchaus Sinn, ich auf die Tatsache ausgeblendet, dass ich auf 'params' testen müssen, weil' primary_factor_params' gar nicht in diesem Fall existieren würde – anonn023432