Ruby on rails 安贝西亚';Rails3上的reCAPTCHA插件。是否覆盖闪存消息div默认值?
我已经在Rails3上安装了ambethia的reCAPTCHA插件。有人知道如何覆盖flash消息标记吗?我想重用我自己的Ruby on rails 安贝西亚';Rails3上的reCAPTCHA插件。是否覆盖闪存消息div默认值?,ruby-on-rails,ruby-on-rails-3,controller,ruby-on-rails-plugins,recaptcha,Ruby On Rails,Ruby On Rails 3,Controller,Ruby On Rails Plugins,Recaptcha,我已经在Rails3上安装了ambethia的reCAPTCHA插件。有人知道如何覆盖flash消息标记吗?我想重用我自己的flash\u errordiv id,而不是使用插件的flash\u recaptcha\u errordiv id: <div id="flash_recaptcha_error">incorrect-captcha-sol</div> 感谢阅读我的问题。因为flash[]是一个数组,您可以删除其中的元素。当我们使用recaptcha gem时
flash\u error
div id,而不是使用插件的flash\u recaptcha\u error
div id:
<div id="flash_recaptcha_error">incorrect-captcha-sol</div>
感谢阅读我的问题。因为flash[]是一个数组,您可以删除其中的元素。当我们使用recaptcha gem时,闪存阵列包含recaptcha_error元素,因此您只需使用以下内容删除此元素: 闪存。删除控制器中的(:recaptcha_错误) 例如:
if verify_recaptcha(:model=>@object,:message=>"Verification code is wrong", :attribute=>"verification code") && @object.save
#your code if succes
else
flash.delete(:recaptcha_error)
#your code if its fail
end
也许它能帮助你。谢谢如果您是从头开始制作用户身份验证系统,您可能需要执行以下操作:
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params[:user])
respond_to do |format|
if verify_recaptcha(:model => @user )
if @user.save
format.html { redirect_to root_url, :notice => "You have Signed up!" }
else
format.html { render :new }
end
else
flash.delete(:recaptcha_error)
format.html { redirect_to( root_path , :flash => { :error => 'Please retry the two words of the reCaptcha' } ) }
end
end
end
end
class UsersController@user)
如果@user.save
format.html{redirect_to root_url,:notice=>“您已经注册了!”}
其他的
format.html{render:new}
结束
其他的
flash.delete(:recaptcha\u错误)
format.html{重定向到(根路径:flash=>{:error=>'请重试reCaptcha'}的两个单词)}
结束
结束
结束
结束
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params[:user])
respond_to do |format|
if verify_recaptcha(:model => @user )
if @user.save
format.html { redirect_to root_url, :notice => "You have Signed up!" }
else
format.html { render :new }
end
else
flash.delete(:recaptcha_error)
format.html { redirect_to( root_path , :flash => { :error => 'Please retry the two words of the reCaptcha' } ) }
end
end
end
end