【问题标题】:Form absolute uri from a relative path in Rails从 Rails 中的相对路径形成绝对 uri
【发布时间】:2012-10-02 07:26:09
【问题描述】:

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

在 Rails 应用程序中,特别是从控制器中, 我正在尝试使用参数中设置的反向重定向链接重定向到外部链接, 以便外部应用程序可以重定向回我在该地址的应用程序。

从开发环境中的'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'

所以,问题解决了。

【问题讨论】:

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


    【解决方案1】:

    我在看的是:

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

    【讨论】:

      【解决方案2】:

      rails 3 方法是 request.fullpath。任何路由的 URL 都可以通过使用 url 而不是 path 导出。 如果路由是 user_path 那么 url 是 user_url

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2022-01-17
          • 2014-03-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多