こんにちは、レールキャストで多くのサイトとビデオを検索しましたが、これに対する答えが見つかりません。URLコントローラーと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 を検証する方法がわからないことです。検索に有効な完全な電子メール アドレスが入力されていることを確認する必要があり、order_number を検索するために正確に 8 文字が入力されていることを確認する必要があります。後で理解できる検証の残りの部分ですが、これらの 2 つが最も重要です。Railscast で active_attr のビデオを見ましたが、うまくいきません。私を助けることができる前に誰かがこれをやったことがありますか?
ありがとう