0

我正在尝试在 a 中设置 flash 变量,redirect_to但遇到了问题。

当我使用它时,哈希会通过,但没有无关紧要的访问。(即:我可以使用'key'但不能:key

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

我也有可能完全错误地接近这个。root_url这是一个请求不同操作的搜索表单,如果没有结果,它会重定向回搜索表单 (on )。我要传params回去,所以我可以将表单字段设置回用户选择的内容。

谢谢!

编辑:我之前发布为“工作正常”的示例实际上并没有正常工作。

4

3 回答 3

0

检查root :to您的路线中是否正在重定向到另一个页面,例如root :to => redirect('[PAGE]').

这发生在我身上,我不得不使用资源路径来重定向

于 2013-01-19T19:38:56.590 回答
0

这是闪存的一种非标准使用......它用于存储要显示给用户的消息。做你真正需要的事情似乎有点迂回的方式 - 我假设这只是一个在你重定向时存储参数的快速地方是吗?

您是否考虑过直接使用会话?

例如:

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

然后在新动作中:

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

你想用冷漠的访问来查找什么?你现在拥有它的方式merge是什么被转换。也许你正在寻找

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