从Rails中的相对路径形成绝对uri

时间:2012-10-11 15:10:19

标签: ruby-on-rails ruby-on-rails-3.2

在控制器中是否可以从相对路径形成绝对uri 到另一个控制器动作?

在rails应用程序中,特别是来自控制器, 我正在尝试使用params中设置的后向重定向链接重定向到外部链接, 以便外部应用程序可以重定向回我在该地址的应用程序。

在开发环境中的'mypath / 1'中,函数将返回

http://localhost/mypath/1

在已部署的环境中,它将返回

http://mysite.com/mypath/1

更新 为了我的目的 url_for 非常适合:

url_for :controller => 'tasks', :action => 'testing', :host => 'somehost.org', :number => 
'33'  # => 'http://somehost.org/tasks/testing?number=33'

所以,这个问题已经解决了。

3 个答案:

答案 0 :(得分:0)

对于config / routes.rb中的所有路由,您可以拥有路径和完整的URL。 例如。 users_path与users_url

答案 1 :(得分:0)

rails 3方法是 request.fullpath 。可以使用网址而非路径来获取任何路线的网址。 如果路线 user_path ,则网址为 user_url

答案 2 :(得分:0)

我在看的是:

url_for :controller => 'tasks', :action => 'testing', :host => 'somehost.org', :number => '33'  # => 'http://somehost.org/tasks/testing?number=33'