2017-05-29 1 views
2

J'ai cette erreur mais je ne sais pas comment la résoudre. J'ai un module de version de l'API VI et mon module UserController est comme ceActionController :: UnfilteredParameters (impossible de convertir les paramètres non autorisés en hash) - Rails 5

class Api::V1::UsersController < ApplicationController 
    def register 
    ap params 
    end 

    def user_params 
    params.require(:user).permit(
     :email, :password,:password_confirmation, :username, :name, :fb_id, :picture, :access_token, :reset_password_token, 
     :sign_in_count, :authenticatable_salt, :current_sign_in_at, :last_sign_in_at, :current_sign_in_ip, :last_sign_in_ip 
    ) 
    end 
end 

J'ai une fonction de registre et chaque fois que je veux connecter les params, je reçois une erreur

ActionController :: UnfilteredParameters (incapable de convertir les paramètres de hachage non permises)

Je ne sais pas comment résoudre ce étant donné que je l'ai déjà permis aux attributs de mon modèle d'utilisateur déjà.

Je n'ai pas inclus le paramètre strong_rem, mais je ne sais pas si je dois le faire car je ne pense pas que je doive l'inclure.

Je sais qu'autoriser les attributs aurait fonctionné pour Rails 4 ne sais pas pourquoi cela ne fonctionne pas pour Rails 5. Ai-je besoin de faire quelque chose sur mon modèle aussi?

+0

Voir si cette réponse vous aide: https://stackoverflow.com/a/34951198/755421 – bitsapien

+0

double possible de [Rails 5: impossible d'extraire les valeurs de hachage du paramètre] (https://stackoverflow.com/questions/34949505/rails-5-unable-to-retrieve-hash-values-from-parameter) – bitsapien

Répondre

2

Vous avez créé la méthode user_params, mais dans l'action register, vous utilisez params (c'est-à-dire les paramètres non filtrés).

changer donc ceci:

def register 
    ap params 
end 

à ceci:

def register 
    ap user_params 
end