J'utilise des rails 4.0.0 et Devise 3.0.2 et j'essaie de configurer le concevoir avec des paramètres puissants après Cette instruction < / a> dans le Devise Readme. J'ai écrit du code comme celui-ci dans le alors j'ai visité méthode non définie et pointe vers la ligne exacte où j'ai écrit Y a-t-il quelque chose que j'ai mal fait? Merci pour votre aide. P> p> application_controller.rb code> p>
http : // localhost: 3000 / utilisateurs / signe_up code>. J'ai reçu un
Nométhoderror in Devise :: InscriptionsController # Nouveau code>, qui dit: P>
<< 'pour {}: actioncontroller :: paramètres code> p>
blockquote>
devise_parameter_sanitizer.for (: signe_up) <<: Nick code> p>
3 Réponses :
comme Jose Valim a déclaré , c'est conçu 3.1.0.rc, c'est pourquoi ça ne marche pas. Vous devez utiliser d'autres syntaxes dans Readme. P>
Essayez:
class ApplicationController < ActionController::Base ... before_filter :configure_permitted_parameters, if: :devise_controller? ... def configure_permitted_parameters devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:email, :password, :password_confirmation, :nick) } end
Est-ce que cela va dans le modèle?
J'ai mis dans l'applicationController: avant_filter: configure_permited_paramètres, si :: devise_controller?
Un problème correspond exactement à votre problème: # 2574: devise_parameter_sanitizer.for (: signe_up) <<: Quelque chose soulève une erreur .
En fait, la méthode permettant d'ajouter des champs personnalisés à des paramètres puissants comme celui est une nouvelle fonctionnalité à venir avec Devise 3.1. p>
depuis la version actuelle de Rubygems.org est mais si vous avez vraiment besoin de, vous pouvez modifier votre Gemfile em> et remplacer cette ligne p> avec celui-ci: p> alors vous pouvez ajouter facilement votre coutume Champs comme celui-là: p> mais être averti strong>, il s'agit actuellement d'un candidat 3.0.3 code>, vous ne pouvez pas utiliser cette méthode dans votre projet Rails pour l'instant. Vous devrez remplacer les valeurs par défaut comme celle-ci: p>
p> 3.1.0 RC1 CODE> P> P>
C'est toujours les petits détails ... Serait bien s'ils le mentionnent dans le Readme pour pauvres github noobs comme moi ... FWIW La seule chose qui a fonctionné (essayé quelques exemples différents sur le Web) consiste à mettre mes attraits dans le U Le groupe .Permit comme Carlos mentionne ci-dessus.
J'ai essayé exactement le même code et obtenir la même erreur.
devise_parameter_sanitizer.for (: signe_up) code> renvoie un hachage vide, il n'est donc pas possible d'appeler
<<< / code> méthode à ce sujet. J'ai soumis [un problème] [1], vous pouvez suivre cela. [1]: github.com/plataformatec/devise/issues/2574
@ Rafałcieślak Merci de votre confirmation, je vais suivre la question.