我有一个factor
控制器,其采用因子值对于两种不同类型的因素滑轨检查是否在控制器
- 主要因素
- 次要因素
存在PARAMS和我将它们作为params如下:
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
但在上面的每当我尝试通过一个secondary_factor
我得到以下错误:
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'
所以对我来说似乎这个错误就要到了,因为我没有任何值,在这种情况下primary_factor_params
,这就是方式,它抛出,因为第一次的错误如果条件。
我已经试过:
primary_factor_params.exists?
primary_factor_params.has_key?(:primary_factors)
....
但他们都抛出了同样的错误,因为primary_factor_params
不存在。有没有一种方法来测试这个没有丢失的参数错误?
是的,这非常有意义,我削除的事实,我需要测试'params'因为'primary_factor_params'不会在这种情况下,存在于所有 – anonn023432