2012年2月23日木曜日

検索機能の追加


(config/routes.rb)


Finder::Application.routes.draw do
  resources :books do
    collection do
      post :search
    end
  end
end


(app/controllers/books_controller.rb)


  def search
    #whereの第2パラメータはダブルクォーテーション(")で囲む、シングルクォーテーション(')では機能しない
    @books = Book.where('name LIKE ?', "%#{params[:search_string]}%")
   
    respond_to do |format|
      format.html # search.html.erb
      format.json { render json: @books }
    end
  end

(app/views/layouts/application.html.erbに追加)


  <%= form_tag({ :controller => :books, :action => :search}) do %>
    <%= text_field_tag :search_string %>
    <%= submit_tag "Search" , :disable_with => "検索中…" %>
  <% end %>

0 件のコメント:

コメントを投稿