2016-07-15 47 views
0

我试图将白名单mhealth_ids in /app/controllers/clients_controller.rb如下所示。Ruby on Rails语法错误使用Strong Parms

def client_params 
    params.require(:client).permit(:firstName, :lastName, :dob, :gender_id, :remove_image, :rh_options, :insurance_id, :state_id, :ed_id, :wk_id, :grade_id, :rsource_id, :image, :race_id, :employment_id, :comments, :email, :phone, :address, :city, :state, :zipcode, :name, rhealth_ids:[], :name, mhealth_ids:[]) 
end 

我使用的是相同的语法:name, rhealth_ids:[]在未插入:name, mhealth_ids:[]工作正常。

我不确定我错过了什么。我相信这是一件小事。

+0

你应该把控制器退出,并检查你得到什么实际的参数值为:name,mhealth_ids:[] – Vishal

+0

@Vishal我该怎么写呢? –

+1

只是在你的client_params方法中写入exit,或者你调用的是哪种方法。在控制台中检查参数 – Vishal

回答

0

这是原始问题的正确语法。

def client_params 
     params.require(:client).permit(:firstName, :lastName,:dob, :gender_id, :remove_image, :rh_options, :insurance_id, :state_id, :ed_id, :wk_id, :grade_id, :rsource_id, :image, :race_id, :employment_id, :comments, :email, :phone, :address, :city, :state, :zipcode, :name, rhealth_ids:[], mhealth_ids:[]) 
end 

两个rhealth_idsmhealth_ids必须去的红宝石结束。

1

数组在最后复制粘贴并忘记取出第二个名称。

+0

但为什么数组必须在最后? –

0

:name已被错误地重复。您需要删除第二个:name之前mhealth_ids:[]