как шаг за шагом настроить reCAPTCHA v3 на ruby ​​с padrino (форматы файлов представлений - haml) - PullRequest
0 голосов
/ 29 октября 2018

Я только начинаю программирование, сейчас я работаю с одним проектом, проект сделан Ruby с использованием Padrino Framework, где формат файла представлений - .haml, Теперь я хочу добавить Google reCAPTCHA version3 в форму / контактную форму, может кто-нибудь написать шагпошаговый процесс?Я уже отправил тот же квест, но никто не помогает мне.

Добавлен пример кода:

PATH:/models/contact.eb

class Contact < ActiveRecord::Base

attr_encrypted :abc_name, :name, :email, :content, :ip_address

# Valications
validates_presence_of :name, :email, :content, :contact_type
validates_length_of       :abc_name, :maximum => 50
validates_length_of       :name, :maximum => 30
validates_length_of       :contact_type, :maximum => 100
validates_length_of       :content, :maximum => 2000
validates_length_of       :email,    :maximum => 100
validates_format_of       :email,    :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i

end PATH:/app/controllers/contact.rb

Myapp::App.controllers :contact do
   before do
     @title = [t('myapp.contact.title')]
     @contact_types = get_contact_types
   end
  .
  .
  .
  # 保存する
  if @contact.save
    contact_type_map = Hash[@contact_types.map {|x| x.reverse }]
    contact_no = format('%06d', @contact.id)
    contact_datetime = Time.zone.now.strftime(t('time.formats.long'))
  .
  .
  .

PATH:/app/views/contact/index.haml

  .
  .
  .
  .form-group{:class => error_class(f, :content)}
       != f.label mat(:contact, :content), :class => 'control-label col-sm-3'
         .col-sm-8
            != f.text_area :content, :class => 'form-control', :id => 'content', :rows => 7, :maxlength => 1000
            %span.label.label-danger= t('myapp.common.mandatory')
            != help_error(f, :content, mat(:contact, :content))
  .
  .
  .

  I WANT TO ADD RECAPTCHA HERE

  .form-group
    .col-sm-offset-3.col-sm-5
      %button.btn.btn-primary{:type => 'submit'}
        %i.fa.fa-envelope-o
        = t('myapp.common.send')
...