2012-03-22 10 views
2

simple_captcha画像の下にリンクがあります。リンクをクリックするとsimple_captchaイメージをリロードします。私はそれについての情報を宝石で見つけることはできません。どうすれば更新できますか?進歩をありがとう。simple_captcha画像を再読み込みする方法

+0

ある私はSimpleCaptchaControllerを実装しようとしますが、アクションはミドルウェアにcatchedされ、同じように見えます。 – gayavat

答えて

2

私は同じ問題を抱えていますが、私は以下に述べる解決策を見つけました。 私はcaptcha divをリフレッシュするためにjqueryを使用しています。これはcaptchaをリフレッシュするために使用したjavascriptコードです。この後

$(document).ready(function() { 
    $(".refresh_image").click(function() { 
    $('#captcha').load("https://stackoverflow.com/users/dashboard/refresh_captcha_div"); 
    }); 
}); 

部分的なファイルにキャプチャするためのビューページのコードを入れて、リフレッシュのdiv(任意のリンクまたはボタン)が貼り付けられた上記のコードでクリックされたときに部分的に毎回レンダリングします。それはあなたが部分的なものだけをレンダリングする必要があるアクションを呼び出します。 (ここでは、ユーザー/ダッシュボードコントローラのrefresh_captcha_div)。以下は、参照用の私のビューファイルコードです。

 <div id ="captcha"> 
     <%= render "simple_captcha_institute"%> 
     </div> 
     <%=link_to (image_tag "/assets/refresh_image.png"),"#", :class => "refresh_image"%> 

これは私が部分的にレンダリングしていますビューページのコードで、その後、部分的でコードが

<div id="refresh_captcha"> 
    <%= show_simple_captcha(:object=>"institute", :label => "Type The Above Characters..") %>    
</div> 
+1

素晴らしいソリューションがうまくいきます。このシンプルなcaptchaの宝石が最後に生成されたキーでのみ動作するかどうかは分かりますか?複数のユーザーと互換性があります(複数のユーザーが同時にパスワードを取得しようとすると、これは失敗します(?)) – Rubytastic

関連する問題