我在domain1.com上有一个使用链接到该域名的Facebook应用程序的RoR网站。
我想让domain2.com指向与domain1.com相同的服务器,因此domain1.com/foo
相当于domain2.com/foo
。
显然(我认为)我需要制作第二个facebook应用程序,因为如果他们访问domain2.com下的网站,那么链接到domain1.com的应用程序将无法运行。
但是,如果请求来自一个主机或另一个应用来自另一个应用程序,我不知道如何告诉facebooker2在facebooker.yml中使用一个应用程序。
有没有办法做到这一点,或做一些能达到相同结果的事情?
答案 0 :(得分:1)
Facebooker2没有内置支持,但你可以支持它!
您需要覆盖此文件中的某些功能:
facebooker2 / LIB / facebooker2.rb
特别是这种方法:
def self.load_facebooker_yaml
config = YAML.load(ERB.new(File.read(File.join(::Rails.root,"config","facebooker.yml"))).result)[::Rails.env]
raise NotConfigured.new("Unable to load configuration for #{::Rails.env} from facebooker.yml. Is it set up?") if config.nil?
self.configuration = config.with_indifferent_access
end
更改第一行说:
config = YAML.load(ERB.new(File.read(File.join(::Rails.root,"config","facebooker.yml"))).result)[::Rails.env][::request.domain]
然后在facebooker.yml文件中添加一个新级别,如下所示:
production:
domain1.com:
app_id: ####
secret: #####
aki_key: #####
domain2.com
app_id: ####
secret: #####
aki_key: #####
development:
localhost:
app_id: ####
secret: #####
aki_key: #####
让我知道这是怎么回事。