CSVサーバーのフィルター条件の追加手順
ここでは実際に、「ファイル」項目で「...から始まる」フィルターの場合は、ファイル名の先頭の「_(アンダーバー)」が不足していたら補う条件を追加してみる。
filter_sqlsテーブルへの条件追加
- zariganiユーザーでログインして、http://zarigani.ddo.jp:3001/filtersql/list を開く。
- 右上の「Create New」をクリックして、以下のように入力。
name | not_op | operator | wild1 | item | wild2 | option |
---|---|---|---|---|---|---|
...から始まる | LIKE | item[0,1]=='_' ? item : "_#{item}" | % |
filter_setsテーブルへの条件セットの追加
- zariganiユーザーでログインして、http://zarigani.ddo.jp:3001/filtersets/list を開く。
- file_nameフィルター用の条件セットを追加する。セット名は、項目名と同じ「file_name」にした。
- 先程のfilter_sqlsテーブルへ追加した条件も含める。
_filter_file_name.rhtmlの修正
- app/views/csvs/_filter_file_name.rhtml
- ビュー
- 利用する条件セットを「file_name」に変更した。(オレンジ色の部分のみ)
<%= text_field_tag :filter_item, params[:filter_item],
:name => "filter[#{@filter_count}][item]" %>
<% items = Filterset.find_by_name('file_name').filtersqls.map{|f| [f.name, f.id]} %>
<%= select_tag :filter_id, options_for_select(items, params[:filter_id].to_i),
:name => "filter[#{@filter_count}][id]" %>
以上の修正で、ファイル名先頭の「_(アンダーバー)」を良きに補完してくれるようになる。