嗨,我在 rails casts 上搜索了许多网站和视频,但找不到答案,我有一个 urls 控制器和 url 模型。在控制器中我有这个
def search
@search_term = params[:q]
st = "%#{params[:q]}%"
@url = Url.where("email ILIKE ? or custref ILIKE ? or order_number ILIKE ? or url4 ILIKE ? or trader_code ILIKE ? or trader_name ILIKE ?", st, st, st, st, st, st).order("date DESC").page(params[:page]).per_page(25)
respond_to do |format|
format.html
format.json {render json: @urls}
end
end
在模型中就是这样
class Url < ActiveRecord::Base
attr_accessible :order_number, :url1, :url2, :url3, :url4, :url5, :email, :custref, :date, :trader_code, :trader_name
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Url.create! row.to_hash
end
end
belongs_to :user
end
然后我使用部分渲染搜索框的 form_tag。
<%= form_tag("/search", :method => "get") do %>
<%= label_tag(:q, "") %>
<%= text_field_tag(:q) %>
<%= submit_tag "Search" %>
<% end %>
我的问题是我不知道如何验证这个 form_tag。我需要验证在搜索中输入了一个有效且完整的电子邮件地址,并且我需要验证输入了 8 个字符来搜索 order_number。我可以弄清楚其余的验证,但这两个是最重要的。我已经在 railscast 上观看了 active_attr 的视频,但它对我不起作用。在此之前有没有人这样做可以帮助我?
谢谢