J'ai essayé de configurer ceci en fonction des questions précédemment posées, mais je n'ai pas réussi à le faire fonctionner. Le captcha apparaît sur mes formulaires mais un utilisateur peut toujours s'inscrire sans avoir à remplir la recaptcha.Configuration de la mise en place avec Recaptcha - Rails 3
Je travaille avec les instructions suivantes. https://github.com/plataformatec/devise/wiki/How-To:-Use-Recaptcha-with-Devise
- J'ai mes clés privées et publiques ReCaptcha
environment.rb
ENV['RECAPTCHA_PUBLIC_KEY'] = 'mykey1234567'
ENV['RECAPTCHA_PRIVATE_KEY'] = 'mykey1234567'
- J'ai installé la pierre précieuse recaptcha.
Gemfile
source 'http://rubygems.org'
gem 'rails', '3.0.3'
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'devise', '1.1.7'
gem "jquery-rails"
gem 'recaptcha', :require => 'recaptcha/rails'
- J'ai ajouté des balises ReCaptcha à mon avis d'inscription.
new.html.erb
<%= recaptcha_tags %>
<p><%= f.submit "Sign up" %></p>
Crée Enregistrements contrôleur
rails génèrent contrôleur Enregistrements créent
Enregistrements contrôleur
class RegistrationsController < Devise::RegistrationsController
def create
if verify_recaptcha
super
else
build_resource
clean_up_passwords(resource)
flash[:alert] = "There was an error with the recaptcha code below. Please re-enter the code and click submit."
render_with_scope :new
end
end
end
Je suis supposé éditer mon fichier de routes mais je ne sais pas exactement quelle peut être la cause du problème.
Mes itinéraires fichier
devise_for :troopers, :path => "troopers", :path_names => { :sign_in => "login", :sign_out => "logout", :sign_up => "register" }
Merci pour toute aide.
J'ai modifié le fichier de ma route en le suivant. 'devise_for: soldats de la cavalerie, : contrôleurs => {: inscriptions => "inscriptions"}, : path => "Troopers", : path_names => {: sign_in => "login",: sign_out =>" logout ",: sign_up =>" register "}' Cela semble fonctionner mais je ne reçois aucun message d'erreur maintenant. Est-ce un problème avec la vue? –
Vous devez transmettre l'objet modèle lors de l'appel de 'verify_recaptcha' dans votre contrôleur, par ex. 'verify_recaptcha (: model => ressource)'. Vous pouvez également spécifier d'autres options, telles qu'un message d'erreur personnalisé. Consultez la documentation [recaptcha/rails] (https://github.com/ambethia/recaptcha). – mbreining
Je vais chercher des liens doc.J'ai changé la méthode de création dans le contrôleur d'enregistrements personnalisés de flash [: alert] à flash [: notice] qui semble fonctionner correctement. Merci de votre aide. –