Ruby・Rails

rails5でvirtusとrecaptchaを一緒に使う

最終更新から9年以上たっています。ライブラリのバージョンや手順が変わっている可能性があります。

Googleのrecaptchaを使うために

ambethia/recaptcha

を導入した。

しかし、form objectとしてvirtusを使っており、recaptchaのドキュメント通りだと実装出来ない。
そこで、試行錯誤した結果、こうなった。

form objectクラスを変更

include Recaptcha::Verify

attr_accessor :params
attr_accessor :request

をform objectのクラスに追加。

そしてvalidateしている部分を

if valid? && verify_recaptcha(model: self)

という形に変更。

controller側を変更

@form_object.params = params
@form_object.request = request

form objectに追加したattributeへ値をセットする。

これで上手く動いたが、これで良いのかは不明。

made with Flutter

この記事を書いた人がつくったアプリ

Ruby・Rails の記事

コメントの受け付けは終了しました。ご意見・ご質問は X(@nm_aru)へどうぞ。