我已經集成了一個隱藏的字段稱爲暱稱,不應該輸入,如果是,它表明一個機器人正在填寫它,因此不應該處理動作郵件。無檢查窗體參數不工作
這是我必須做此過濾器的代碼:
if params[:nickname] == nil
@contact = Contact.create(contact_params)
if @contact.save
GenericMailer.contact_mailer(@contact).deliver
else
redirect_to root_path alert: "Oops! It looks like you have entered something incorrectly, please try again."
end
else
redirect_to root_path
end
形式:
<%= form_for @contact, :url => {:controller => "footerlinks", :action => :contactcreate } do |lead|%>
<%= lead.text_field :fullname, :placeholder => "Full name", onfocus: "this.placeholder = ''", onblur: "this.placeholder = 'Full name'" %>
<%= lead.text_field :email, :placeholder => "Email", onfocus: "this.placeholder = ''", onblur: "this.placeholder = 'Email'" %>
<%= lead.text_area :query, class: "height15", :placeholder => "Query", onfocus: "this.placeholder = ''", onblur: "this.placeholder = 'Query'" %>
<%= lead.text_field :nickname %>
<%= lead.submit "Send" %>
<% end %>
然而,在重新嘗試的形式,它似乎完全繞過if語句,並提供電子郵件儘管暱稱表單字段不爲零。
怎樣的形式或者至少暱稱輸入字段看起來像? – AmShaegar 2014-12-03 20:59:12
加@AmShaegar – 2014-12-03 21:04:58
應該是params [:contact] [:nickaname]那麼,不是?但@ leo-correa也是對的。 – AmShaegar 2014-12-03 21:07:43