4

私はRoRの初心者で、Rails3.2.3を使用しています。

ページに検索フォームがあり、getリクエストを実行して、結果を正しくフィルタリングします。

日付で商品を検索する可能性も追加したいと思います。date_selectを挿入して日付を選択できます。検索後にページが更新されても、選択した日付は、を介して取得できるため、date_selectに残りますparams

ただし、私の問題は、ページが商品をレンダリングするときに、ショーアクションへのlink_toがあることです。私の目標は、そのlink_toで検索を実行するために選択された日付もURLと一緒に渡すことです。

たとえば、ユーザーが2012年6月20日から2012年6月25日までの日付を選択すると、その時間枠に挿入された製品のみが表示されます(これらのパラメーターはすべてURLにあります)

ただし、表示されている各製品のアクションを表示するためのリンクは次のとおりです。

link_to <%= link_to product.name, product%>

レンダリングします

http://localhost:3000/products/24(例)

レンダリング/表示したいものは次のようなものです:

http://localhost:3000/products/24?from=20-06-2012&to=25-06-2012

検索を実行するために選択した日付は、現時点ではデータベースに保存されていませんが、後のページのURLから取得する必要があるため、ユーザーが入力する前に、両方の日付を2つの異なるページで保持する必要があります。フォームを作成すると、それらの日付がDBに挿入されます。

これに関するヒントはありますか?検索しましたが、モデルに存在する変数を渡す方法だけが見つかりました。Cookieやセッション変数は使用したくありません。

よろしくお願いします

4

2 に答える 2

6

次の呼び出しに任意のパラメータを渡したい場合

<%= link_to product.name, product %>

暗黙的なバージョンを使用する代わりに、path メソッドを明示的に呼び出す必要があります。上記の行は次と同等です

<%= link_to product.name, product_path(product) %>

次に、パラメーターを渡すことができます

<%= link_to product.name, product_path(product, :from => 'whatever', :to => 'whatever') %>
于 2012-06-25T12:20:53.713 に答える
3

このように試してみませんか

link_to <%= link_to product.name, product, :param_you_want => "value you want" %>

これで、必要に応じて「param_you_want」に値を設定できます。

しかし、私の場合、「必要な値」に値を設定します

あなたがアイデアを得ることができることを願っています

于 2012-06-25T11:59:41.180 に答える