このgemを使用してハニーポットフィールドを作成しようとしていますが、実装方法がわかりません。フォームは、ハニーポットを作成するフィールドをどのように認識し、ラベルをどこに指定しますか?フィールドに使用したコードは次のとおりですが、アプリを実行するとフォームが表示されます。
= form_for(:invitation, :url => request_invite_path, :html => {:id => 'login_form', :honeypot => true}) do |form|
= form.text_field :email, :size => nil
= form.text_field :honeypot #This field was created to store the honeypot input
%button{:type => "submit"} Request Invite
このハニーポットは、電子メールアドレスのみを要求する登録フォームで使用されており、非表示になっている追加のハニーポットフィールドがあります。私は現在招待状サービスを利用しているので、人々がメールを入力すると招待状が作成され、それを受け入れるか拒否することができます。私がやりたいのは招待機能を取り除くことですが、この招待機能をハニーポットフィールドと組み合わせて使用して、ボットの登録を停止できると思います。
モデルをスキップし、ハニーポットフィールドを使用して招待を受け入れるか拒否する方法はありますか?ハニーポットのデータを実際に保存する必要はありませんが、それを使用して、招待を受け入れるかどうかを決定する必要があります。
したがって、次のように機能するはずです。
- ユーザーがランディングページにアクセスする
- ユーザーには、で構成される登録フォームが表示されます
- メールアドレス入力ボックス
- 隠されているハニーポットフィールド
- ボットが登録すると、ハニーポットに入力されるため、招待状が作成されるときに、ハニーポットに入力しないものを自動的に受け入れることができ、入力するものは拒否されます。
もう1つ、ハニーポットフィールドをテストして、機能するかどうかを確認するにはどうすればよいですか。私はそれを記入して、私のコードが想定どおりに機能しているかどうかを確認したいと思います。