使用参数计算内部重定向URL

时间:2016-02-18 09:46:08

标签: ruby ruby-on-rails-4 redirect

ROR重定向用户的标准方法是:

redirect_to controller: '/some/controller', action: 'some_action', param1: value1, param2: value2, status: :see_other

但是在我的用例中,我想生成相应的URL并将其呈现给用户,如果需要,可以稍后点击它们。在内部,redirect_to使用名为_compute_redirect_to_location的方法生成确切的URL字符串,但根据命名约定,这看起来不像是外部代码直接使用的方法。 / p>

是否有正确的方法来生成此URL,而不必弄清楚路由然后解析并手动加入params?如果没有,在gem之外使用该方法是否安全?

1 个答案:

答案 0 :(得分:0)

您好像在寻找url_for

url_for(controller: '/some/controller', action: 'some_action', param1: value1, param2: value2)
#=> "/some/controller/some_action?params1=value1&params2=value2"

url_for也接受hostprotocol等参数。

或者你可以使用Rails`路由助手,如果你正确设置它们(参见:RailsGuides - Rails Routing from the Outside In)。