The Ruby Toolbox Searchを少し修正しました

メリー・クリスマス。


The Ruby Toolbox Search
自分自身結構使うので、少し改善してみました。

ToolboxSearchについて

主な修正内容

・URLの固定化
・bug fix

URLの固定化

毎日データをinsertしていたのでurlが変わっていました。
まぁ、作るときに分かってたんですが。。

こんな感じ

実装

以前日記に書きましたが
railsでは、to_paramをoverrideするとすんなり実現できます。

  def to_param
    "#{id}-#{name.gsub(/\W/, '-').downcase}"
  end
少し嵌ったところ

関連モデルのリンク先を固定化する場合、
idを渡すのではなくオブジェクトを渡さないとto_paramが有効になりませんでした。
(そら、そうやな)

#これNG
<%=link_to h(project.category_name), category_path(project.category_id) %>
#これOK
<%=link_to h(project.category_name), category_path(project.category) %>

実は

見た目的には、これぐらいしか変わってないんですが
以下のようなことを実施しています。


・内部のテーブル構造を変更
・それに伴うクローラの修正
mysqlのデータ移行
・関係ないけど、バッチをscript/runnerへ移行


何がうれしいかというと
今までは、毎日約780件のprojectデータを放りこんでいたのですが
そうすると半年で13万件近くなり、全文検索(thinking sphinx)対象が
日増しに増えるということになっていたので
これを解消するついでにto_paramを実装したという感じです。

余談ですが

cronでscript/runnerをキックすると実行されないという罠に
2時間くらい嵌ってしまいました。
原因は、script/runnerのshebungが

#!/usr/bin/env ruby

となっているからで
cron実行時に/usr/bin/envへのpathが通ってないという
ありがちなとこで嵌ってしまいました。


なんだかんだで一日掛かりでしたが、今度は見た目や機能についても弄っていこうと思います。