如何使用Ambethia Ruby Gem设计Custom Recaptcha Widget?

时间:2010-03-19 05:21:11

标签: ruby-on-rails recaptcha

我不确定如何使用

设计自定义主题Recaptcha小部件

http://github.com/ambethia/recaptcha

我想调整窗口小部件的大小以适应侧边栏中的表单。

如果我这样做

<%= recaptcha_tags :display => {:theme => 'custom', :custom_theme_widget => 'recaptcha_widget'} %>

并添加

<div id="recaptcha_widget">
    <div id="recaptcha_image"></div>
    <input type="text" id="recaptcha_response_field" name="recaptcha_response_field" />
</div>

按照

Recaptcha - Form Customization

我只获取响应输入字段,以及img标记

的source属性中的错误消息

SRC = “http://optim.coral.cs.cmu.edu/error/TypeError_Result_of_expression_____recaptcha_response_field_____null__is_not_an_object_”

有没有人找到使用Ambethia gem定制主题Recaptcha小部件的好方法?

2 个答案:

答案 0 :(得分:0)

我没有帮助程序就这样做..如果我在脚本标记中传递公钥,但在environment.rb中没有传递,则可以正常工作:

    #recaptcha_container
      %label{ :for => "recaptcha_response_field" }
        Enter the two words below:
      %input#recaptcha_response_field.text{ :name => "recaptcha_response_field", :type => "text" }
      #recaptcha_image
      %p
        Choose captcha format:
        %a{ :href => "javascript:Recaptcha.switch_type('image');" }
          Image
        or
        %a{ :href => "javascript:Recaptcha.switch_type('audio');" }
          Audio
      %input#recaptcha_reload_btn{ :type => "button", :value => "Get new words", :onclick => "Recaptcha.reload();" }
    %script{ :src => "http://api.recaptcha.net/challenge?k=INSERT_KEY_HERE", :type => "text/javascript" }
    %noscript
      %iframe{ :src => "http://api.recaptcha.net/noscript?k=INSERT_KEY_HERE" }
        height="300" width="500" frameborder="0">
      %textarea{ :name => "recaptcha_challenge_field", :rows => "3", :cols => "40" }

答案 1 :(得分:0)

我遇到了同样的问题。 但是如果你在recaptcha_widget之前放置recaptcha_tags的html代码,一切都还可以。