よくあるキーワードで検索してリストがずらずらーってやつです。
viewにこんな感じに書きます。
===================
<% form_tag :action => :search do %>
<%= text_field_tag :keyword, @keyword %>
<%= submit_tag '検索' %>
<% end %>
===================
よく検索で出てくるstart_form_tagではないです。start_form_tag使うと、んなもんないって怒られます。2.0から変わったそうです。
この辺はなんとなく見てもらえればわかると思います。
controllerにこんな感じに書きます。
===================
def search
@keyword = nil if(@keyword = params[:keyword] || "").empty?
cond = @keyword ? ["keyword LIKE ?", "%#{@keyword}%"] : nil
@books = Book.paginate(:page => params[:page], :per_page => 30,
:conditions => cond, :order => "id" )
@keyword = params[:keyword]
render :action => 'index'
end
===================
こないだのwill_paginateのとあんま変わらない。
リストの出力は、自動で作られたindexビューを使ってる。
今回もいろんな人のコードを参考にさせてもらいました。
ありがとうございます。
コメントする