パラメータ保持リンク

helperに書いているパラメータ保持リンク

  def link_parameter(name, option)
    param_datas = {}
    params.each{ |key, value| param_datas[key.to_sym] = value }
    option.each{ |key, value| param_datas[key.to_sym] = value }
    link_to name, param_datas
  end

検索画面のリンクを作る為に作ってみた。
検索画面でsort順を変えるリンクや、県で絞り込むリンクが複数ある場合、
リンク先とリンク前の画面でソートの条件パラメータや県の絞込みパラメータを
保持する必要があるが、毎回パラメータを書き続けるわけにもいかねーって事で、
optionの箇所にパラメータを設定してあげる感じ


使用例としては

<%= link_parameter("登録日順", {:sort => "created_at"} %><BR />
<%= link_parameter("更新日順", {:sort => "updated_at"} %><BR />
(...略)
<%= link_parameter("北海道", {:prefecture => 1} %><BR />
<%= link_parameter("青森", {:prefecture => 2} %><BR />

のような感じです。

……うーん、上手い使用例思いつかない……。


追記:記載ミスがあったので修正しました。すいません。
追記2:nilで上書きできる様に修正してみた。
追記3:シンボルとかストリングで上書きできない時があったので修正。バグだらけだ。