0

内でフラッシュ変数を設定しようとしていますredirect_toが、問題があります。

これを使用すると、ハッシュは通過しますが、無関心なアクセスはありません。(例:使用できますが使用でき'key'ません:key

redirect_to root_url, :flash=>params.merge({:error=>'no-results'}.with_indifferent_access)

私がこれに完全に間違ってアプローチしている可能性もあります。root_urlこれは、別のアクションを要求する検索フォームであり、結果がない場合は検索フォーム(上)にリダイレクトされます。フォームフィールドをユーザーが選択したものに戻すことができるように、パスparamsバックします。

ありがとう!

編集:以前に「正常に機能している」と投稿した例は、実際には正常に機能しませんでした。

4

3 に答える 3

0

無関心なアクセスで何を調べようとしていますか?あなたが今それを持っている方法は、merge変換されるものです。おそらくあなたは探しています

redirect_to root_url, :flash=>params.merge({:error=>'no-results'}).with_indifferent_access
于 2012-06-18T22:47:40.487 に答える
0

これは、フラッシュの非標準的な使用法の一種です...これは、ユーザーに表示されるメッセージを保存するためのものです。それはまた、あなたが本当に必要としていることを行うための少し回り道のようです-あなたがイエスをリダイレクトしている間、これはパラメータを隠しておくための簡単な場所だと私は思いますか?

セッションを直接使用することを検討しましたか?

例えば:

session[:saved_params] = params.merge :error=>'no-results'

その後、新しいアクションで:

real_params = session[:saved_params]
于 2012-06-18T23:47:07.903 に答える
0

root :toルート内がのような別のページにリダイレクトされているかどうかを確認しますroot :to => redirect('[PAGE]')

これは私に起こりました、そして私はリダイレクトするためにリソースパスを使わなければなりませんでした

于 2013-01-19T19:38:56.590 に答える