代码之家  ›  专栏  ›  技术社区  ›  Victor

在重定向中传递参数,rails

  •  2
  • Victor  · 技术社区  · 14 年前

    我正在将一个操作“接收”重定向到另一个“显示”,使用

    redirect_to @post

    我需要知道访问者是否在视图中被重定向以进行显示

    我可以在receive中存储一个变量@flag并在重定向之后在“show”中使用它吗?我不能。

    有没有一种方法可以传递参数而不在URL中显示?

    事先谢谢。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Alex Reisner    14 年前

    听起来你应该把它放在 session ,也许你的 receive 操作:

    session[:redirected_from_receive] = true
    

    确保将此设置为 false nil show 行动。或者,您可以检查 request.referer 环境变量以查看它是否与 接收 页面URL,但这可能不如使用会话可靠。

        2
  •  2
  •   Paweł Gościcki Ywain    14 年前

    使用会话/cookie传递参数,而不在URL中显示。你也可以破解 flash 对象并在重定向前传递自定义密钥:

    flash[:from] = 'receive'
    redirect_to @post