は私のために働きました。 たとえば、投稿を検索する場合は、コレクションの検索ルートを設定します。
resources :posts do
collection do
get 'search'
end
end
投稿とインデックスアクションをHTTPでGETします。
<%= form_tag posts_path, method: :get do %>
<%= search_field_tag :q, params[:q], placeholder: "Search posts" %>
<%= submit_tag "Go" %>
<% end %>
、その後
before_action :check_for_query, only: :index
...
private
def check_for_query
redirect_to articles_search_url(q: params[:q]) if params[:q].present?
end
、PostsControllerの中やポスト番号検索アクションでPost.searchを呼び出し、インデックスページをレンダリングします。
def search
Post.search(params[:q])
render :index
end
URLは/投稿/検索のように見えるのでしょうか?Q = fooの
ので、あなたは最終的に何をしましたか?ちょうどそれを残す? – Ayrton
shingaraの回答はhttp://stackoverflow.com/questions/4104474/で動作します。単に '<%= form_tag%> ... <% end %>'ではなく '
'を使用してください。 http://stackoverflow.com/questions/3222013/に説明されているように、送信されたコンテンツが決してデータベースに保存されない場合にのみ、これを行う必要があります。 – AlexC標準に準拠していない単一のブラウザの回避策を使用しているユーザーに迷惑をかけたくないので、非常に関連性の高い質問です。私は私が持っている少数のIEユーザーのために、この "utf8 =✓"だけを必要とします。 – Jarl