1

我想:

channel_url(channel_object)       # http://domain1.com/something/here
channel_url(other_channel_object) # http://domain2.com/something/here

基本上,传递到 channel_url 的对象应该能够更改主机名。

我可以通过定义一个名为 的辅助方法来做到这一点channel_url,但我更愿意使用生成的 rails routes 方法。

4

1 回答 1

1

开箱即用的路由无法做到这一点。路由用于处理应用程序中的路由。甚至子域也不是其中的一部分。

您可以更改url_to方法 fromActionView::Helpers::UrlHelper以查看传递给它的对象。

def url_for(options={})
  if options.respond_to? :domain
    super options, domain: options.domain
  else
    super
  end
end

鉴于您channel_object对域的响应,类似的事情。:)

希望这可以帮助。

于 2013-06-06T06:59:18.053 回答