railsでアプリケーション作成13(検索機能 ransack)

Rails

今回は検索機能を作成していきます。

準備

Gemfileに以下を追加し、bundle installを実行します。

gem 'ransack'

Routing

get 'search'

controller

検索用のアクションを追加します。

def search
  @q = モデル.ransack(params[:q])
  @result = @q.result 
end

def index
  @q = モデル.ransack(params[:q])
end

Model

def self.ransackable_attributes(auth_object = nil)
    ["検索したいカラム"]
end

View

<p>○○検索</p>
<%= search_form_for @q, url: search_○○_path do |f| %>
   <%= f.label :○○_cont, '○○' %>
   <%= f.search_field :○○ %>
   <%= f.submit %>
<% end %>
<% @result.each do |変数| %>
<% end %>

条件

ソート機能

<%= sort_link(@q, :○○, "○○") %>
タイトルとURLをコピーしました