2012-04-08 14 views
5

Otrzymuję następujący błąd, gdy próbuję zainstalować Recaptcha w mojej aplikacji Rails 3. Umieściłem tag recaptcha w moim pliku _form (patrz załączony poniżej).Instalacja Rails 3/Recaptcha - Niezdefiniowana zmienna lokalna lub metoda "recaptcha_tags"

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 %> 

Czy możesz doradzić?


_FORM.HTML.ERB PLIK

<%= 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 STEROWNIKA

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 

Odpowiedz

9

próbowałem odtworzyć swój błąd, ale po przejściu przez Readme wszystko działało w porządku.

Czy zrestartowałeś serwer?

Kroki zrobiłem:

  1. wygenerować klucze api
  2. stworzony config/inicjalizatory/recaptcha.rb z kodem i moich kluczy
  3. zmieniłem formę z <% = recaptcha_tags%>
  4. restart serwera, do inicjalizatorów są ładowane

to jest to ... może po prostu spróbuj jednego e czas.

+2

ponowne uruchomienie serwera działa. Doh! Dziękuję Ci!!! – hikmatyar