2017-11-18 2 views
1

ich in meinem Schienen-Controller bulk Betrieb versuchen, dies mein Skript istSchienen 5 ForbiddenAttributesError auf Bulk-Operationen

def update_by_user 
    user_skill_selected = UserSkillSelected.create(params[:user_skill_selected][:users]) 

    # check through array if all is valid 
    if user_skill_selected.all? {|item| item.valid?} 
     render json: {json_status: save_success} 
    else 
     render json: {json_status: save_failed} 
    end 
end 

und das ist mein user_skill_selected_params

def user_skill_selected_params 
    params.require(:user_skill_selected).permit(:user_id, :subskill_id, :skill_id, :users => []) 
    end 

leider bekomme ich einen Fehler in meinem Log, das Protokoll sagte

"exception": "#<ActiveModel::ForbiddenAttributesError:ActiveModel::ForbiddenAttributesError>", 

danach versuche ich, Operationen von Schienen Konsole mit uns Bulk-Operationen ing create-Methode mit dem Array-Wert und seiner Arbeit

kann dies jemand lösen ... :( sorry für die schlechte Englisch

Antwort

0

Dies kann verwirrend sein. Ihr Code übergibt params[:user_skill_selected][:users] an das Modell create anstelle Ihrer user_skill_selected_params starken Parameter, weshalb Sie diesen Fehler sehen.

Ändern Sie diese Zeile:

user_skill_selected = UserSkillSelected.create(params[:user_skill_selected][:users]) 

Um dies:

user_skill_selected = UserSkillSelected.create(user_skill_selected_params) 

Und es sollte diesen Fehler beseitigen.

+0

ich brauche nur Benutzer params in meinem user_skill_selected_params. Ich möchte nur geben diese [ { "user_id": 54, "subskill_id": 20, "skill_id": 3 }, { "user_id": 54, "subskill_id": 17, „skill_id „: 3 }, { "user_id": 54, "subskill_id": 23, "skill_id": 4 }] meinen UserSkillSelected.create – cahyowhy

+0

ok seine Arbeit mit diesem def update_by_user user_skill_selected = UserSkillSelected.create ! (user_skill_selected_params [: users]) # check throu gh array wenn alles gültig ist wenn user_skill_selected.all? {| Gegenstand | item.valid?} render json: {json_status: save_success} sonst rendern json: {json_status: save_failed} Ende Ende – cahyowhy

Verwandte Themen