Ruby on rails 确定Rails服务器URI

Ruby on rails 确定Rails服务器URI,ruby-on-rails,Ruby On Rails,我觉得这里缺少了一个环境变量,但是有没有办法获取Rails服务器正在侦听的FQDN和端口?我觉得应该有一个像RAILS\uURL之类的变量。我想从模型中访问它。我通过设置一个环境变量,将应用程序的URL作为运行Mongrel的脚本的一部分来解决这个问题。环境署。然后Ruby就可以使用var,您甚至可以在/config/environment.rb中设置一个类似RAILS_ROOT的全局变量 您还可以调查请求对象: 需要时,将从请求对象返回的值传递到模型中 class Bar < AR::

我觉得这里缺少了一个环境变量,但是有没有办法获取Rails服务器正在侦听的FQDN和端口?我觉得应该有一个像RAILS\uURL之类的变量。我想从模型中访问它。

我通过设置一个环境变量,将应用程序的URL作为运行Mongrel的脚本的一部分来解决这个问题。环境署。然后Ruby就可以使用var,您甚至可以在/config/environment.rb中设置一个类似RAILS_ROOT的全局变量

您还可以调查请求对象:

需要时,将从请求对象返回的值传递到模型中

class Bar < AR::Base 
  def self.active_for_domain(domain)
    find(:all, :conditions => ["deleted <> true and domain = ?", domain])
  end
end

class FooController < ApplicationController
  def index
    @bars = Bar.active_for_domain(request.domain)
  end
end
类栏[“deleted true and domain=?”,domain])
结束
结束
类FooController<应用程序控制器
def索引
@bars=Bar.active\u,用于\u域(request.domain)
结束
结束

我想您正在寻找
根url

我现在实际上正在使用environment.rb方式,但我更希望通过编程来设置它。使用request的问题是我想访问模型中的信息,而请求只能通过控制器访问。root\u url通常只会给你“/”
class Bar < AR::Base 
  def self.active_for_domain(domain)
    find(:all, :conditions => ["deleted <> true and domain = ?", domain])
  end
end

class FooController < ApplicationController
  def index
    @bars = Bar.active_for_domain(request.domain)
  end
end