我觉得我在这里只是缺少一个环境变量,但无论如何都要获得Rails服务器正在侦听的FQDN和端口?我觉得应该有像RAILS_URL之类的变量。我想从模型中访问它。
答案 0 :(得分:2)
我认为您正在寻找root_url
。
答案 1 :(得分:0)
我通过使用应用程序的URL设置环境变量作为运行Mongrel的脚本的一部分来解决这个问题。环境变种。然后可以使用Ruby,你甚至可以在/config/environment.rb中设置像RAILS_ROOT这样的全局
您还可以调查请求对象: http://perma-link.appspot.com/k
request.domain
request.port
在需要时将请求对象返回的值传递给模型。
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