コントローラーにそのようなコードがあります:
if verify_recaptcha #verify_recaptcha(:model => @order, :message => "Oh! It's error with reCAPTCHA!") &&
respond_to do |format|
if @order.save
Cart.destroy(session[:cart_id])
session[:cart_id] = nil
OrderMailer.order_confirmation(@order, @user).deliver
UserOrderMailer.user_order_mailer(@order, @user).deliver
#OrderNotifier.received(@order).deliver
pdf_link = generate_pdf(@order)
link = " <a href=\"#{pdf_link}\">#{I18n.t(:get_pdf)}</a>"
format.html { redirect_to root_url, :notice => (I18n.t(:successful_order_send)+link.to_s).html_safe}
else
format.html { render :action => "new", :notice => I18n.t(:error) }
format.xml { render :xml => @order.errors, :status => :unprocessable_entity }
end
end
else
flash[:warning] = I18n.t(:wrong_captcha)
redirect_to :back
end
そしてフォームビューで:
- if @user_vehicle.errors.messages.values.present?
.warning
- @user_vehicle.errors.messages.values.each do |msg|
- msg.each do |m|
%li= m
しかし、レイアウトでも私は持っています:
- if flash[:warning]
.warning
= flash[:warning]
- if flash[:notice]
.notice
= flash[:notice]
モデル検証メッセージの場合と同じように、エラーのerrors.messages.valuesリストにrecaptcha failエラーを追加して、同じdivにliで表示するにはどうすればよいですか? もう 1 つのアイテム recaptcha メッセージを表示するにはどうすればよいですか?