Je travaille sur une application Rails 5.0.3 (avec Ruby 2.4.1) et j'essaie d'installer une fonction Recaptcha v2 sur le formulaire de contact sur mon site.Constante non initialisée Recaptcha (NameError) lors de l'utilisation de recaptcha gem pour rails app
Je reçois l'erreur suivante: -
/config/initializers/recaptcha.rb:1:in `<top (required)>': uninitialized constant Recaptcha (NameError)
from /home/[$user]/.rvm/gems/ruby-2.4.1/gems/railties-5.0.3/lib/rails/engine.rb:648:in `block in load_config_initializer'
Pour mettre en œuvre la fonctionnalité que je suivais la documentation de la pierre précieuse recaptcha ici https://github.com/ambethia/recaptcha
Dans mon Gemfile je: -
gem 'dotenv-rails', require: 'dotenv/rails-now'
gem 'recaptcha', require: 'recaptcha/rails'
Dans mon fichier .env (qui se trouve dans le dossier racine), j'ai ceci: -
RECAPTCHA_SITE_KEY= xxxxxxxxxxxxxxxxxxxxxxxxxx
RECAPTCHA_SECRET_KEY= xxxxxxxxxxxxxxxxxxxxxxxxx
Et je cela dans la config/initializers/recaptcha.rb: -
Recaptcha.configure do |config|
config.site_key = ENV['RECAPTCHA_SITE_KEY']
config.secret_key = ENV['RECAPTCHA_SECRET_KEY']
end
De l'avis que j'ai ceci: -
.
.
.
<%= f.label :content %>
<%= f.text_area :content, class: 'form-control' %>
<br>
<%= recaptcha_tags %>
<br>
<div class="actions">
<%= f.submit "Send", class: "btn btn-primary center-block" %>
</div>
<% end %>
.
.
.
Dans mon contrôleur, j'ai ceci: -
def create
@message = Message.new(message_params)
if !verify_recaptcha(model: @message) && @message.valid?
.
.
.
Comme je peux le voir à partir de l'erreur, l'initialiseur ne se charge pas. Je ne suis pas un expert sur les initialiseurs, donc je n'ai aucune idée de la façon dont ils sont chargés ou de ce que je dois faire pour les charger.
avez-vous installé le paquet? – Sajin
plusieurs fois. J'ai également essayé de redémarrer le serveur. – RawCode
essayez d'exiger 'recaptcha' dans le fichier initialiseur – Sajin