ビューに検索フィールドを配置するのに助けが必要です。
家族のテーブルがあり、各家族には0-nの本がありました。特定の本の家族だけが表示されるように検索したい。
現在、他の単純な検索にランサックを使用しています。
コントローラー:
class FamiliesController < ApplicationController
def index
@search = Family.search(params[:q])
@families = @search.result
respond_to do |format|
format.html # index.html.erb
format.json { render json: @families }
end
end
モデル:
class Family < ActiveRecord::Base
has_many :names
has_and_belongs_to_many :books, :join_table => "books_families"
has_and_belongs_to_many :races, :join_table => "families_races"
attr_accessible :descr, :nome, :book_ids, :race_ids
validates :nome, uniqueness: true, presence: true
end
意見:
<fieldset>
<legend>Filter for families</legend>
<%= search_form_for @search do |f| %>
<div class="field">
<%= f.label :nome, "Name: " %><br />
<%= f.text_field :nome_cont, :class => "search-field"%>
</div>
<div class="actions">
<%= f.submit "Search" %>
</div>
<% end %>
</fieldset>
<table>
<tr>
<th><%= sort_link(@search, :nome, "Name") %></th>
<th>Books</th>
<th>Descr</th>
</tr>
(...)
<td>
<ol type="disc">
<% family.books.each do |book| %>
<li> <%= book.nome %> </li>
<% end %>
</ol>
</td>
(...)
私は何をすべきか?