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之外使用该方法是否安全?
答案 0 :(得分:0)
您好像在寻找url_for
:
url_for(controller: '/some/controller', action: 'some_action', param1: value1, param2: value2)
#=> "/some/controller/some_action?params1=value1¶ms2=value2"
url_for
也接受host
或protocol
等参数。
或者你可以使用Rails`路由助手,如果你正确设置它们(参见:RailsGuides - Rails Routing from the Outside In)。