auto_discover_link_tag忽略url_options

时间:2014-10-22 17:43:26

标签: ruby-on-rails

根据docs

auto_discovery_link_tag(:atom, {controller: "home", action: "public_archives"})`

应该返回

<link rel="alternate" type="application/atom+xml" title="ATOM" href="http://www.currenthost.com/home/public_archives" />

但我只是在没有控制器或操作的情况下获得主机。

<link href="http://currenhost.com/" rel="alternate" title="ATOM" type="application/atom+xml" />

1 个答案:

答案 0 :(得分:1)

由于您的root_pathhome#public_archivesauto_discovery_link_tag的行为符合预期。

例如,如果你把:

auto_discovery_link_tag(:atom, {controller: "articles", action: "index"})

输出结果为:

<link rel="alternate" type="application/atom+xml" title="ATOM" href="http://www.currenthost.com/articles" />

<link rel="alternate" type="application/atom+xml" title="ATOM" href="http://www.currenthost.com/articles/index" />

因为articles#index的路径是/articles。它返回的href是路径文件中与列出的控制器和操作匹配的第一个路径。在您的情况下,控制器home和操作public_archives首先匹配/