目标

开发环境
?Ruby:2.5.7
Rails:5.2.4
?无业游民:2.2.7
VirtualBox:6.1
操作系统:macOS Catalina
前提
在下面实现。
?Slim简介
登录功能实现
注册reCAPTCHA
1.访问下面的链接
reCAPTCHA
2.单击Admin console

3.如下图所示进行设置,然后单击送信


4.制作サイトキー 和シークレットキー 的副本并记下它们

5.
实作
1.设置サイトキー 和シークレットキー 环境变量
①引入了"ruby\\'dotenv-rails \\'"
ruby文件
1 | gem 'dotenv-rails' |
终奌站
1 | & bundle |
②直接在应用程序下创建一个" .env"文件。
*移至应用程序目录,然后执行以下命令
终奌站
1 | $ touch .env |

③
.env
1 2 3 | # 追記 RECAPTCHA_SITE_KEY = 'サイトキー' RECAPTCHA_SECRET_KEY = 'シークレットキー' |
④编辑
.gitignore
1 | /.env # 追記 |
2.创建或编辑reCAPTCHA配置文件
终奌站
1 | $ touch config/initializers/recaptcha.rb |
回收站
1 2 3 4 5 | # 追記 Recaptcha.configure do |config| config.site_key = ENV["RECAPTCHA_SITE_KEY"] config.secret_key = ENV["RECAPTCHA_SECRET_KEY"] end |
3.编辑resistration_controller.rb
resistanceration_controller.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 追記 prepend_before_action :check_captcha, only: [:create] private # reCAPTCA認証を行わないとサインアップ出来なくし、バリデーションメッセージを表示する def check_captcha self.resource = resource_class.new sign_up_params resource.validate unless verify_recaptcha(model: resource) respond_with_navigational(resource) { render :new } end end |
4.编辑视图
抗药性/ new.html.slim
1 2 | / 追記 = recaptcha_tags |
5.验证消息的日语本地化
①ruby介绍
ruby文件
1 2 | gem 'rails-i18n' gem 'devise-i18n' |
终奌站
1 | $ bundle |
②编辑
application.rb
1 2 3 4 5 6 | module Bookers2Debug class Application < Rails::Application config.load_defaults 5.2 config.i18n.default_locale = :ja # 追記 end end |
③创建或编辑
devise.ja.yml
1 2 3 4 | ja: recaptcha: errors: verification_failed: 'reCAPTCHA認証に失敗しました。' |