2011-01-27 7 views
1

ユーザーがオンになっている現在のページがあるとしましょう:レールにリンクを介して、現在のURLにテキストを追加は

http://0.0.0.0:3000/posts?direction=asc&sort=title 

そのタイトルで、昇順にソートされました。

今、あなたは、例えば、「鶏」を検索した場合、URLがあるかもしれないことを、私は検索エンジンを持って言うことができます:

http://0.0.0.0:3000/posts?direction=asc&search=chicken&sort=title 

しかし、その代わりに検索するのでは、私はそのようなリンクをしたいのですが<a href="CODE HERE">Show all results for chicken</a>として&をsearch = chickenに追加するか、または検索に値が既にある場合はそれを置き換えます。

これは可能ですか?

+0

[リンク\は、現在のページを_toプラス/ PARAMと合併](http://stackoverflow.com/questions/5535908/link-to-the-current-page-plus-merged-の可能重複パラメタ付き)。これは最初に来ましたが、もう一方はおそらくより良い姿勢でした。 –

+0

[リンクするクエリ文字列パラメータを追加する\ _to](http://stackoverflow.com/questions/2695538/add-querystring-parameters-to-link-to) –

答えて

5

コントローラ/アクションを指定しないでlink_to関数を使用できます。必要な引数を入力するだけで、現在のページとそのパラメータに加えてURLが作成されます。あなたは追加の:search項目に既存のparamsハッシュを使用してマージする必要があります

注意が、そうでない場合は、あなたのdirectionsort引数はURLから削除されます。また、既存のparams[:search]アイテムがある場合は、マージによって上書きされます。

<%= link_to "Show all results for chicken", params.merge({:search => "chicken"}) %> 
+0

完璧なおかげで! – Elliot

関連する問題