Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails 3 / Recaptcha installation - Undefined local variable or method `recaptcha_tags'

I am getting the following error when I try installing Recaptcha on my Rails 3 app. I have placed the recaptcha tag in my _form file (see attached below).

Showing /Users/fkhalid2008/loand/app/views/posts/_form.html.erb where line #20 raised:

undefined local variable or method `recaptcha_tags' for #<# <Class:0x12d4e1870>:0x12d4dac78>
Extracted source (around line #20):

17:   <div class="actions">
18:     <%= f.submit %>
19:   </div>
20:   <%= recaptcha_tags %>
21: <% end %>

Could you please advise?


_FORM.HTML.ERB FILE

<%= form_for(@post) do |f| %>
<% if @post.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2>

<ul>
<% @post.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>

<div class="field">
I am a <%= f.text_field :title %> getting married in <%= f.text_field :job %> in <%= f.text_field :location %>, and looking for a wedding photographer. My budget is <%= f.text_field :salary %>.
</div>
<div class="actions">
<%= f.submit %>
</div>
<%= recaptcha_tags %>
<% end %>

POSTS CONTROLLER

def create
@post = Post.new(params[:post])

respond_to do |format|
if verify_recaptcha && @post.save
format.html { redirect_to :action=> "index"}
format.json { render :json => @post, :status => :created, :location => @post }
else
format.html { render :action => "new" }
format.json { render :json => @post.errors, :status => :unprocessable_entity }
end
end
end

GEMFILE

source 'http://rubygems.org'

gem 'rails', '3.1.1'
gem "twitter-bootstrap-rails", "~> 2.0.1.0"
gem 'recaptcha', :require => 'recaptcha/rails'

group :production do
gem 'pg'
end

group :development, :test do
gem 'sqlite3'
end

gem 'json'

group :assets do
gem 'sass-rails',   '~> 3.1.4'
gem 'coffee-rails', '~> 3.1.1'
gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

RECAPTCHA.RB

Recaptcha.configure do |config|
config.public_key  = '6LdR......'
config.private_key = '6LdR7.....'
end
like image 891
hikmatyar Avatar asked Apr 08 '12 06:04

hikmatyar


1 Answers

i tried to reproduce your error, but after walking through the Readme everything worked fine.

Did you restart the server?

The steps i made:

  1. generate api keys
  2. created config/initializers/recaptcha.rb with your code and my keys
  3. changed my form with <%= recaptcha_tags %>
  4. restart the server, to the initializers are being loaded

that's it... perhaps just try one more time.

like image 56
Mario David Avatar answered Sep 23 '22 22:09

Mario David